home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibt3ep2.arc / PIBTERM3.DOC < prev    next >
Text File  |  1985-10-08  |  155KB  |  3,747 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                 ===================================================
  25.                 | PibTerm:  Communications and Terminal Emulation |
  26.                 ===================================================
  27.  
  28.  
  29.                           For the IBM PC and compatibles
  30.                                     Version 3.0
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                                                               Philip R. Burns
  51.                                                               October 7, 1985
  52.  
  53.        Documentation for PibTerm version 3.0               07 Oct 85   Page 1
  54.  
  55.                            Table of Contents
  56.  
  57.         1  Table of Contents
  58.         4  Introduction
  59.         4  Getting a copy of the source
  60.         5  PibTerm features
  61.         6  Starting PibTerm
  62.         6     Setting the environment variable PIBTERM
  63.         7  Using PibTerm
  64.         8     Reading the configuration files
  65.         8     The phone directory
  66.         8     Initializing the modem
  67.         8     Terminal emulation mode
  68.         9     Using the PibTerm menus
  69.         9     Three important PibTerm commands
  70.         9  PibTerm Commands
  71.         9  Alt-A:  Edit line on screen
  72.        10     Keys used in editing
  73.        10  Alt-B:  Send Break
  74.        11  Alt-C:  Clear screen
  75.        11  Alt-D:  Dial a number
  76.        11     Carrier detect line and dialing
  77.        11     Dialing directory format
  78.        11     Using the dialing directory
  79.        12        Dialing a specific directory entry
  80.        13        Moving around the dialing directory
  81.        13        Revising a dialing entry
  82.        13        Dialing prefixes
  83.        14        Other dialing commands
  84.        14     Automatic baud rate adjustment
  85.        14  Alt-E:  Toggling local echo
  86.        15  Alt-F:  File manipulation
  87.        15     Changing the active directory
  88.        15     Copying a file
  89.        15     Displaying the current directory
  90.        15     Erasing a file
  91.        16     Find free space on drive
  92.        16     Changing the logged drive
  93.        16     Viewing a file
  94.        16     Quit file manipulation
  95.        16  Alt-G:  Enter Gossip mode
  96.        16  Alt-H:  Hang up the phone
  97.        17  Alt-I:  Produce command list
  98.        17  Alt-J:  Jump to DOS
  99.        17  Alt-K:  Set input keys
  100.        18     Reading key definition from a file
  101.        18     Entering key definitions at keyboard
  102.        18     Writing key definitions to a file
  103.        18     Quiting key definition mode
  104.        18     Contents of key definition strings
  105.        21  Alt-L:  Log session to printer
  106.        21  Alt-M:  Toggle Mute Mode
  107.        21  Alt-N:  New communications parameters
  108.        22  Alt-O:  Output session to disk
  109.        22  Alt-P:  Set parameters
  110.        23     Format of configuration file
  111.  
  112.        Documentation for PibTerm version 3.0               07 Oct 85   Page 2
  113.  
  114.                            Table of Contents
  115.  
  116.        23     PibTerm parameter names
  117.        27     Sample configuration file
  118.        28  Alt-Q:  Redial last number dialed
  119.        29  Alt-R:  Receive file from remote
  120.        29     Ascii protocol
  121.        30     Xmodem protocol
  122.        30     Modem7 protocol
  123.        30     Ymodem protocol
  124.        30     Telink protocol
  125.        31     Kermit protocol
  126.        32     Mahoney BBS autodownload protocol
  127.        33     CompuServe B protocol
  128.        33     Downloads overwrite existing files
  129.        33     Cancelling a download
  130.        33     Download buffer size
  131.        33     Processing of CANs in Xmodem
  132.        34  Send file to remote system
  133.        34     Cancelling an upload
  134.        34     Ascii file uploads
  135.        34     Uploads with CIS B protocol
  136.        35  Alt-T:  Get translate table
  137.        36  Alt-U:  Screen dump to file
  138.        36  Alt-V:  View Back Scroll Buffer
  139.        36  Alt-W:  Wait for call
  140.        36  Alt-X:  Exit PibTerm
  141.        37  Alt-Y:  Display elapsed time
  142.        37  Alt-Z:  Get area code
  143.        37  Shift-Tab:  Toggle adding linefeeds
  144.        37  Notes on terminal emulation
  145.        37  VT52 mode
  146.        38  VT100 mode
  147.        39  ANSI/BBS mode
  148.        39  Using Script File
  149.        39     Executing a script file
  150.        40  Script file commands
  151.        42  General syntax of script commands
  152.        42  Detailed description of script commands
  153.        42     Addlf -- add line feeds
  154.        42     Break -- send a break
  155.        43     Capture -- capture session to disk
  156.        43     Clear -- clear screen
  157.        43     Delay -- delay execution for specified interval
  158.        43     Dial --- dial a number
  159.        44     Dos -- execute DOS command
  160.        44     Echo --- toggle local echo
  161.        44     Else -- part of IF statement
  162.        44     Endif --- ends an IF block
  163.        44     EndWhile -- terminate WHILE block
  164.        44     Exit -- terminate script execution
  165.        45     Hangup -- hang up the phone
  166.        45     Host -- enter Host mode
  167.        45     If -- test for condition
  168.        45        Conditions allowed in IFs
  169.        47     Input -- get input from keyboard
  170.  
  171.        Documentation for PibTerm version 3.0               07 Oct 85   Page 3
  172.  
  173.                            Table of Contents
  174.  
  175.        47     Key -- get function key values
  176.        47     KeySend -- Send function key value to remote system
  177.        48     Log -- toggle session logging to printer
  178.        48     Message -- display message on screen
  179.        48     Mute -- toggle mute mode
  180.        48     Param -- set program parameter
  181.        49     Receive -- receive file from remote
  182.        49     Redial -- redial last number dialed
  183.        50     Repeat -- repeat block of statements
  184.        50     Reset -- reset script execution to start of script
  185.        50     RInput -- receive input from remote system
  186.        50     Send -- send file to remote system
  187.        52     SText -- send text to remote system
  188.        52     Suspend -- suspend execution of script
  189.        52     Text -- send text to remote system
  190.        52     Translate -- read in translate table
  191.        53     Until -- ends repeat block
  192.        53     Wait -- wait for time of day
  193.        53     WaitString -- wait for specified string from remote
  194.        54     When -- wait for specified string from remote and respond
  195.        54  While -- execute statements WHILE condition true
  196.        55  Example scripts
  197.        55     For CompuServe
  198.        56     For CDC/NOS
  199.        56     For VAX/VMS
  200.        57     For an RBBS system
  201.        57     For an IBBS system
  202.        58     For FIDO
  203.        58  Notes on error handling
  204.        58     Critical DOS error handler
  205.        59     Invalid keyboard entries and mute mode
  206.        59  Introduction to Host Mode
  207.        59  Files in host mode
  208.        59     Pibterm.usf --- user file
  209.        59     Pibterm.msg --- message file
  210.        60     Pibterm.xfr --- file transfer list
  211.        60     Pibterm.cmt --- comments
  212.        60     Pibterm.log --- host session log file
  213.        61  Using host mode
  214.        61     Autobaud detection
  215.        61     Welcome message
  216.        62     Entering user name and password
  217.        62     Main menu
  218.        63     File transfer menu
  219.        64  Acknowledgements
  220.  
  221.        Documentation for PibTerm version 3.0               07 Oct 85   Page 4
  222.  
  223.  
  224.  
  225.  
  226.            PibTerm:  Communications and Terminal Emulation for the IBM PC
  227.  
  228.  
  229.  
  230.        INTRODUCTION
  231.        ============
  232.  
  233.        PibTerm  is  a  communications  and terminal emulation program for IBM
  234.        personal computers and compatible units.  I,  the  author,  Philip  R.
  235.        Burns,   reserve  the  copyright  to  this  program  and  all  related
  236.        materials.  You are granted a license to use the program.
  237.  
  238.        You may also make unlimited copies of the program and distribute these
  239.        copies  as  you desire, except that the author reserves the sole right
  240.        to distribute the program for profit.  You may request  a  duplication
  241.        charge, not to exceed $10 per copy.  You should distribute the program
  242.        without any changes you have made, and then a  SEPARATE  version  with
  243.        any  changes you've made.  You should clearly mark the changes in some
  244.        sort of documentation file, as well as in the source files you change.
  245.  
  246.        You  may  use  the  source  code  and  modify  it  as  you  please for
  247.        NON-COMMERCIAL APPLICATIONS  ONLY.   You  may  NOT  use  the  code  in
  248.        developing commercial applications without my permission.
  249.  
  250.        I  encourage  you  to  extend  this  program  and  add interesting new
  251.        features.  I also encourage you to upload these changes to your  local
  252.        BBS  in  order  to share your work with others.  What I do NOT want is
  253.        for you to rip off this code as if it were yours and  sell  it  for  a
  254.        profit.  That's not nice.
  255.  
  256.  
  257.        HOW TO GET A COPY OF THE SOURCE
  258.        ===============================
  259.  
  260.        In  many cases the source to PibTerm will be available on the same BBS
  261.        from which you downloaded the executables, perhaps in several  archive
  262.        (.ARC)  or  library  (.LBR)  files.   If  not,  then  you can probably
  263.        download it from some one of the BBSs mentioned in the sample  dialing
  264.        directory  included  with  the  executable version of PibTerm.  If you
  265.        can't find it there, or the phone expense is too great, then  you  can
  266.        send $12 for two disks with a complete .ARC copy of the source to:
  267.  
  268.                      Philip R. Burns
  269.                      Vogelback Computing Center
  270.                      Northwestern University
  271.                      2129 Sheridan Road
  272.                      Evanston, IL.  60201
  273.  
  274.        The $12 is a media, mailing, and handling cost, not a program charge.
  275.  
  276.        The  source  to PibTerm contains all sorts of interesting Turbo Pascal
  277.        routines:  not  just   the   terminal   emulation   and   asynchronous
  278.        communications  parts,  but  PibMenus, a menuing and windowing system,
  279.  
  280.        Documentation for PibTerm version 3.0               07 Oct 85   Page 5
  281.  
  282.  
  283.  
  284.        routines for performing directory and file manipulation, an  interface
  285.        to  MS  DOS's  file  handle  input/output system, a routine to emulate
  286.        Basic's PLAY statement, a routine for providing full-screen editing, a
  287.        routine  to  invoke a secondary command processor from Turbo, and much
  288.        much more.  Should keep you Turbo hackers busy for a while, and should
  289.        also  keep  some  of  you  busy figuring out how to improve or add new
  290.        features to the code!
  291.  
  292.  
  293.        PIBTERM FEATURES
  294.        ================
  295.  
  296.  
  297.             1. Several different terminal emulation methods:
  298.  
  299.                     -- DEC VT52
  300.                     -- DEC VT100 (large subset)
  301.                     -- BBS ANSI (ANSI.SYS color graphics and music)
  302.                     -- Dumb glass TTY
  303.                     -- Dumb glass TTY in split-screen mode
  304.  
  305.             2. The ability to act as a host program (mini BBS).
  306.  
  307.             3. Ring buffered, interrupt driven, serial I/O.
  308.  
  309.             4. A number of popular file transfer methods:
  310.  
  311.                    -- Xmodem Checksum and CRC
  312.                    -- Modem7 batch with either Checksum or CRC
  313.                    -- Ymodem (YAM)
  314.                    -- Telink
  315.                    -- Ascii with XON/XOFF
  316.                    -- Autodownload for Bob Mahoney's EXEC PC BBS
  317.                    -- CompuServe B Protocol
  318.                    -- Kermit
  319.  
  320.             5. Telephone dialing directory.
  321.  
  322.             6. Session logging/capture to printer and/or disk.
  323.  
  324.             7. On-screen editing (block mode) for use with mainframes.
  325.  
  326.             8. Menu-driven commands.
  327.  
  328.             9. Macro-key  definition   for   constructing   terminal   keypad
  329.                emulations or holding other often-used text sequences.
  330.  
  331.            10. Escapes to the operating system (and return from DOS) within a
  332.                PibTerm session.
  333.  
  334.            11. Built-in file and directory manipulation, including  directory
  335.                display, file display, file copying, file erasure.
  336.  
  337.            12. Screen dumps to a file.
  338.  
  339.        Documentation for PibTerm version 3.0               07 Oct 85   Page 6
  340.  
  341.  
  342.  
  343.            13. Customizable modem support.
  344.  
  345.            14. Automatic  change  of  baud  rate to the proper one with smart
  346.                modems like the Hayes 1200 and USR Courier.
  347.  
  348.            15. Built-in phone area code directory.
  349.  
  350.            16. Dialing session and total session time elapsed counters.
  351.  
  352.            17. Internal line capture buffer which may be viewed at any time.
  353.  
  354.            18. Script files  for  constructing  sequences  of  commonly  used
  355.                commands, especially useful for generating auto-logon scripts.
  356.  
  357.  
  358.        STARTING PIBTERM
  359.        ================
  360.  
  361.        PibTerm  is  distributed  in  both  source  form  (Turbo  Pascal)  and
  362.        executable  form (.COM).  PibTerm is a large program (over 34000 lines
  363.        of Turbo Pascal code) for a micro and operates  in  an  overlay  mode.
  364.        You  do  not  need  to  compile  PibTerm  to  use  it; you can use the
  365.        executable modules directly.  If you do wish to compile  PibTerm,  you
  366.        must  have  version 3.0 of the IBM version of Turbo Pascal (or later).
  367.        You will also need about 2 megabytes of free disk space  to  effect  a
  368.        complete compilation.
  369.  
  370.        The executable modules are:
  371.  
  372.                      PIBTERM.COM
  373.                      PIBTERM.000
  374.                      PIBTERM.001
  375.                      PIBTERM.002
  376.                      PIBTERM.003
  377.                      PIBTERM.004
  378.                      PIBTERM.005
  379.                      PIBTERM.006
  380.                      PIBTERM.007
  381.  
  382.        You  must place these nine files in the same directory.  You can begin
  383.        execution of PibTerm by entering:
  384.  
  385.                      PIBTERM
  386.  
  387.        in response to the DOS command prompt.  PibTerm looks for its overlays
  388.        in  the  current directory.  You may want to invoke PibTerm from other
  389.        directories as well.  In that case you can  set  the  DOS  environment
  390.        variable  PIBTERM  to the name of the directory containing the PibTerm
  391.        overlays, and use the DOS PATH statement to ensure that  the  selected
  392.        directory  is  searched when you invoke PibTerm by name.  For example,
  393.        if you've named your PibTerm directory "MYPIB", located  on  drive  C,
  394.        then  you  could  use  the  following  DOS control statements to allow
  395.        access to PibTerm from any other directory:
  396.  
  397.        Documentation for PibTerm version 3.0               07 Oct 85   Page 7
  398.  
  399.  
  400.  
  401.           PATH C:\MYPIB
  402.           SET PIBTERM=C:\MYPIB
  403.  
  404.        PibTerm also uses a number of configuration files.  For  the  terminal
  405.        emulation mode these are:
  406.  
  407.                    PIBTERM.CNF --- primary configuration file
  408.                    PIBTERM.PRE --- dialing prefix file
  409.                    PIBTERM.FON --- dialing directory
  410.                    PIBTERM.FNC --- function key definitions
  411.                    PIBTERM.TRA --- translate table
  412.                    PIBTERM.SCR --- main script file
  413.  
  414.        In  addition,  for  the host mode, these extra configuration files are
  415.        needed:
  416.  
  417.                    PIBTERM.USF --- user name file
  418.                    PIBTERM.CMT --- comments file
  419.                    PIBTERM.MSG --- message file
  420.                    PIBTERM.XFR --- file transfer list file
  421.                    PIBTERM.LOG --- session log file
  422.  
  423.        These files must reside in  the  same  directory  as  PIBTERM.COM,  as
  424.        indicated by the PIBTERM environment variable.
  425.  
  426.        I  have supplied samples of the emulation mode files.  These include a
  427.        dialing directory with  numbers  for  some  good  BBS  systems  and  a
  428.        configuration  file suitable for use with the Hayes 1200 SmartModem or
  429.        compatibles.  The other  emulation  mode  files  will  be  created  as
  430.        necessary by PibTerm.
  431.  
  432.        The  exact format of PIBTERM.CNF is documented under the ALT-P command
  433.        below.  The formats for PIBTERM.FON  and  PIBTERM.PRE  are  documented
  434.        under  ALT-D  below.   The  format  of PIBTERM.FNC appears under ALT-K
  435.        below.  PIBTERM.TRA is  described  under  Alt-T,  and  PIBTERM.SCR  is
  436.        described in the section on scripts.
  437.  
  438.        I  have  also  supplied sample input key definition files for use with
  439.        the VT100 emulator in PibTerm under the VAX/VMS system and the CDC/NOS
  440.        system.
  441.  
  442.        See  the section below on host mode for a description of the host mode
  443.        files and how to create them.  You do not need  to  create  host  mode
  444.        files if you only want to use the terminal emulation mode.
  445.  
  446.  
  447.        USING PIBTERM
  448.        =============
  449.  
  450.        There  are  basically  two  general  classes  of remote communications
  451.        programs.  One class contains programs  like  PibTerm,  PC  Talk,  and
  452.        Qmodem  in which you are always in terminal emulation mode.  You enter
  453.        commands to  the  communications  program  by  means  of  special  key
  454.        sequences,  but  you never really leave terminal mode.  Other programs
  455.  
  456.        Documentation for PibTerm version 3.0               07 Oct 85   Page 8
  457.  
  458.  
  459.  
  460.        like Kermit or Modem are designed with an  explicit  separate  command
  461.        mode  and  a  terminal  emulation mode.  You move from command mode to
  462.        emulation mode with a command, and from emulation mode to command mode
  463.        by a special key sequence.
  464.  
  465.        I  personally prefer programs which are always in terminal mode, which
  466.        is why PibTerm is written that way.
  467.  
  468.        If you have used programs like QMODEM, PC  TALK,  ETERM,  PROCOMM,  or
  469.        TMODEM  then  the operation of PibTerm in emulation mode will be quite
  470.        familiar to you, and you can probably just fire up  PibTerm  and  work
  471.        through the menus to see how to use the program.  The major difference
  472.        is that ALL PibTerm commands  are  entered  using  ALT+key  sequences;
  473.        keypad keys are not used so that they are free for use by the terminal
  474.        emulators.
  475.  
  476.        If you have not used one of these programs, then you should  read  the
  477.        following instructions carefully.
  478.  
  479.        After  you enter the PIBTERM command to DOS, PibTerm begins execution.
  480.        You will see a program notice including the current version  and  date
  481.        of that version:
  482.  
  483.           PibTerm Version 3.0 (October, 1985) Ready.
  484.           Hit Alt-I for command list.
  485.  
  486.        PibTerm reads the configuration files, if present, or else prompts you
  487.        with a series of menus to obtain the necessary information  to  create
  488.        the configuration files.
  489.  
  490.        If  you  don't  use the sample supplied phone directory, then an empty
  491.        directory will be created,  unless  QMODEM.FON  --  the  QMODEM  phone
  492.        directory  --  or  PCTALK.FON  --  the  PC  Talk phone directory -- is
  493.        present in the same DOS directory from which you execute PibTerm.   If
  494.        PibTerm finds QMODEM.FON, it will ask you if QMODEM.FON should be read
  495.        to get the dialing directory entries.  If you respond yes,  QMODEM.FON
  496.        is  used to create PIBTERM.FON.  If PibTerm can't find QMODEM.FON, but
  497.        finds PCTALK.FON, then PCTALK.FON is read to get the dialing directory
  498.        entries for PIBTERM.FON.
  499.  
  500.        After  the configuration files are read, PibTerm initializes the modem
  501.        if a modem initialization string appears in  the  configuration  file.
  502.        PibTerm  can  also  be  used  on a hard-wired line without a modem, in
  503.        which case the modem initialization string if  present  will  probably
  504.        have no effect.  If you do have a modem attached, you should set it so
  505.        that the carrier detect line  accurately  reflects  the  true  carrier
  506.        status  --  i.e.,  the carrier detect is NOT permanently set on -- and
  507.        also so that the data terminal ready (DTR) line is set  to  accurately
  508.        reflect  the status of DTR.  Some modems unfortunately have a tendency
  509.        to hang up the phone connection  when  communication  parameters  like
  510.        baud rate are changed if DTR is allowed to reflect reality, so you may
  511.        need to set your modem to always have DTR turned on (set high).
  512.  
  513.        After initialization is complete, PibTerm  enters  terminal  emulation
  514.  
  515.        Documentation for PibTerm version 3.0               07 Oct 85   Page 9
  516.  
  517.  
  518.  
  519.        mode,  emulating  whichever  terminal  you  choose as a default in the
  520.        configuration file.  At this  time  you  may  begin  entering  PibTerm
  521.        commands.   All  PibTerm  commands are input by depressing and holding
  522.        the ALT key along with the indicated ALPHA key.  Most commands cause a
  523.        "pop-up"  menu  box  to  be displayed over the current contents of the
  524.        display.  Upon completing the command, PibTerm restores  the  previous
  525.        screen contents.
  526.  
  527.        You choose an item from a menu by EITHER
  528.  
  529.             1. Typing the first character of the menu item, OR
  530.  
  531.             2. Using  the  up and down arrow keys to move to the desired menu
  532.                selection, and then hitting the enter key.
  533.  
  534.        The currently selected item is always highlighted in inverse video  in
  535.        the menu.
  536.  
  537.        Here are three PibTerm commands you should know about right away:
  538.  
  539.             1. ALT-I provides a complete list of available commands.
  540.  
  541.             2. ALT-X  terminates execution of PibTerm and returns you to DOS.
  542.                NOTE THAT THE PHONE LINE IS NOT NECESSARILY HUNG UP  WHEN  YOU
  543.                LEAVE  PIBTERM.  If you set DTR normal on your modem, then the
  544.                phone WILL BE hung up by exiting PibTerm.  If you have DTR set
  545.                permanently  high,  then  the  phone IS NOT hung up by exiting
  546.                PibTerm.  This is a useful  feature  to  allow  you  to  leave
  547.                PibTerm  and  re-enter  your  session  later.  However, if you
  548.                forget, you may run up a big phone bill, so it's best to  hang
  549.                up  the  modem/phone  manually before you leave PibTerm unless
  550.                you plan to re-enter an on-going session.
  551.  
  552.             3. ALT-H hangs up the phone.
  553.  
  554.  
  555.        PIBTERM COMMANDS
  556.        ================
  557.  
  558.        Following is a complete description of each PibTerm command.
  559.  
  560.        Alt-A: Edit line on screen
  561.        ===========================
  562.  
  563.        When Alt-A is pressed, a highlighted bar appears  at  line  1  if  the
  564.        cursor is currently on lines 2 through 25, or on line 25 if the cursor
  565.        is on line 1.  An XOFF is sent to the host to prevent it from  sending
  566.        more  data.  You may then use the arrow keys to move around the screen
  567.        to any displayed line and edit that line using the keypad keys  listed
  568.        below.   Pressing the INS key toggles insertion mode (the default) and
  569.        overwrite mode, just like in the  Turbo  editor.   A  carriage  return
  570.        causes  an  XON  to  be  sent to the host, followed by the text of the
  571.        newly-edited line.  Only one line at a time may  be  edited  and  sent
  572.        using ALT-A.
  573.  
  574.        Documentation for PibTerm version 3.0               07 Oct 85   Page 10
  575.  
  576.  
  577.  
  578.  
  579.        Alt-A  is intended to provide a simple block-mode feature for use with
  580.        remote hosts that do not provide full-screen features.   For  example,
  581.        on  IBM  systems, if you are unfortunate enough to be stuck with using
  582.        line editors like QED or EDIT under TSO, you can use the ALT-A feature
  583.        to  good  effect  since  the entry of a line starting with a number is
  584.        interpreted as an insertion.  For example, supposed you are in  a  TSO
  585.        QED  session  and  you  enter  a list command for line 20.  The system
  586.        responds by listing the current text of line 20:
  587.  
  588.                 L 20
  589.                 00020 HERE IS THE TEXT OF LINE 20
  590.  
  591.        You can now enter Alt-A, move the cursor using the arrow keys  to  the
  592.        displayed line, and change the text, perhaps to read:
  593.  
  594.                 00020 HERE IS THE REVISED TEXT OF LINE 20
  595.  
  596.        Now, hitting the return (or enter) key sends the newly revised line to
  597.        QED.  QED inserts the revised line 20 in your TSO file in place of the
  598.        old line 20.
  599.  
  600.        Another  good  use  for  this  local  editing feature is to correct an
  601.        improperly  entered  system  command  for  those  systems  without  an
  602.        edit-last-command feature.
  603.  
  604.        Here is a list of available editing key sequences for use with Alt-A:
  605.  
  606.  
  607.        Key Sequence            Resulting edit action
  608.        ===================================================================
  609.        INS                 Toggles insert/delete mode
  610.        DEL                 Deletes current character under cursor
  611.        <-                  Moves one character to left in line
  612.        ->                  Moves one character to right in line
  613.        HOME                Moves to start of line
  614.        END                 Moves to end of line
  615.        Back Space          Erases character to left of cursor, line moves
  616.                            to left to fill hole.
  617.        Other characters    Insert mode:    character inserted at current
  618.                                            character position
  619.                            Overwrite mode: character replaces character
  620.                                            at current cursor position
  621.        ===================================================================
  622.  
  623.  
  624.        Alt-B: Send Break
  625.        ==================
  626.  
  627.        Pressing Alt-B sends a sustained break signal.  This is the equivalent
  628.        of hitting the attention key on  many  termianls,  and  is  frequently
  629.        necessary to gain the attention of a host system when using PibTerm on
  630.        a hard-wired line.
  631.  
  632.        Documentation for PibTerm version 3.0               07 Oct 85   Page 11
  633.  
  634.  
  635.  
  636.        Alt-C: Clear Screen
  637.        ====================
  638.  
  639.        Alt-C clears the entire screen, except in Gossip mode, when it  clears
  640.        your half of the screen only.
  641.  
  642.  
  643.        Alt-D: Dial a number
  644.        =====================
  645.  
  646.        Alt-D invokes the dialing facilities.
  647.  
  648.        VERY IMPORTANT NOTE:
  649.        ===================
  650.  
  651.        PibTerm monitors the carrier detect line to see if a remote session is
  652.        in progress.  If PibTerm detects a carrier, it WILL NOT allow  you  to
  653.        dial  another  number and initiate another session.  If your system or
  654.        modem MUST keep the carrier detect line high (on) all the  time,  then
  655.        you  must go to the Alt-P menu and choose "n) miscellaneous", and tell
  656.        PibTerm to IGNORE the carrier detect line for dialing purposes.
  657.  
  658.        Dialing directory format
  659.        ======================== The dialing directory file PIBTERM.FON  is  a
  660.        random-access  text  file in which each record corresponds to one host
  661.        system.  PibTerm as distributed provides for  200  directory  entries.
  662.        The format of each entry is:
  663.  
  664.           Field Name       Length in characters
  665.           =====================================
  666.           Name of system        25
  667.           Phone Number          15
  668.           Baud rate              5
  669.           Parity                 1
  670.           Data Bits              1
  671.           Stop Bits              1
  672.  
  673.        All  fields  are  plain  ascii  text.   PibTerm  uses  the  associated
  674.        communications parameters when dialing the selected phone number.
  675.  
  676.        After pressing ALT-D you will see a the  first  page  of  the  dialing
  677.        directory:
  678.  
  679.        Documentation for PibTerm version 3.0               07 Oct 85   Page 12
  680.  
  681.  
  682.  
  683.        -[ Dialing Directory ]---------------------------------------------------
  684.        |
  685.        |No.  --------- Name ----------  --- Number ---    -Baud- -Bits- -Par- St
  686.        |
  687.        |  1  BOSS BBS                   1 201 568 7293     2400    8      N    1
  688.        |  2  Bob Blacher BBS            1 202 547 2008     2400    8      N    1
  689.        |  3  Met Chem BBS               1 203 281 7287     1200    8      N    1
  690.        |  4  Craig Derouen's FIDO       1 206 745 2497     1200    8      N    1
  691.        |  5  Invention factory BBS      1 212 431 1194     1200    8      N    1
  692.        |  6  Dan Doman's BBS            1 212 924 6598     1200    8      N    1
  693.        |  7  Programmer's Toolbox       1 301 540 7230     1200    8      N    1
  694.        |  8  Rich Schinnel BBS          1 301 949 8848     2400    8      N    1
  695.        |  9  Pete Olympia Darwin BBS    1 301 251 9206     2400    8      N    1
  696.        | 10  Plain Vanilla PC HOST      1 301 986 9408     2400    8      N    1
  697.        | 11  Bob Klahn's Fido           1 302 764 7522     2400    8      N    1
  698.        | 12  Sid Bratkovich's Fido      1 312 338 8827     1200    8      N    1
  699.        | 13  Gene Plantz BBS            1 312 885 7144     2400    8      N    1
  700.        | 14  Ron Fox BBS                1 312 940 6496     2400    8      N    1
  701.        | 15  John Friel's BBS           1 319 277 0044     2400    8      N    1
  702.        |
  703.        | -->    R Revise entry    P Revise prefix    C Clear entry    Q Redial
  704.        |        PgUp/PgDn Page    Esc Exit           ^/v Scroll       H Hang up
  705.        |        Entry to dial     Home First page    End Last page
  706.        |        M Manual dial     ENTER dials highlighted entry
  707.        |
  708.        -------------------------------------------------------------------------
  709.  
  710.        The  top  part  of  the display shows the first fifteen numbers in the
  711.        dialing directory.  This part of  the  display  is  scrollable.   What
  712.        cannot  be  shown on this printed copy is that the first number's line
  713.        is displayed on the PC's screen in reverse video.  Whichever number is
  714.        currently  at  the  top  of the display is the default number.  If you
  715.        just hit the enter key (return key), PibTerm will  automatically  dial
  716.        this number.
  717.  
  718.        The  bottom  part  of  the  display  indicates  the  available dialing
  719.        commands.
  720.  
  721.        Dialing a specific directory entry
  722.        ==================================
  723.  
  724.        --> prompts you to enter a directory entry number to dial.
  725.  
  726.        Type the entry number of the system  you  wish  to  connect  to.   The
  727.        corresponding phone number in the directory is dialed.  You may prefix
  728.        the number with one of the dialing prefix characters described  below,
  729.        in which case the corresponding prefix string is appended to the front
  730.        of the phone number.  The communications parameters are  also  set  to
  731.        those  present in the dialing directory.  You may hit the ESC (escape)
  732.        key to cancel the dialing at any time during the progress of  a  call.
  733.        Once  a connection is established, however, hitting the escape key has
  734.        no effect.
  735.  
  736.        For example, if you want to dial Gene Plantz's BBS, which is number 13
  737.  
  738.        Documentation for PibTerm version 3.0               07 Oct 85   Page 13
  739.  
  740.  
  741.  
  742.        in  this  directory,  then  you  enter 13 when asked for the number to
  743.        dial.
  744.  
  745.        Moving around the dialing directory
  746.        ===================================
  747.  
  748.        PgDn --- takes you forward a page in the dialing directory.
  749.  
  750.        PgUp --- takes you back a page in the dialing directory.
  751.  
  752.        Up arrow --- takes you down one line in the dialing directory.
  753.  
  754.        Down arrow --- takes you up one line in the dialing directory.
  755.  
  756.        Home --- takes you to first page of directory.
  757.  
  758.        End --- takes you to last page of directory.
  759.  
  760.        Revising a dialing entry
  761.        ========================
  762.  
  763.        R --- allows you to revise a dialing directory  entry.   You  will  be
  764.        prompted  for  the  number  of  the  entry to revise, and then the new
  765.        values for that entry.
  766.  
  767.        C --- allows you to clear out a dialing entry.
  768.  
  769.        Dialing prefixes
  770.        ================
  771.  
  772.        P --- allows you to define or revise the five dialing prefixes, or set
  773.        a default prefix character.
  774.  
  775.        PibTerm provides for dialing prefixes to be attached to the front of a
  776.        phone number.  You may define up to five such prefixes which are  then
  777.        stored  in  the  text  file  PIBTERM.PRE.  Associated with each prefix
  778.        number is a prefix character.  The five  available  prefix  characters
  779.        are  the  same  as  those in QMODEM: '+', '-', '!', '@', '#'.  You use
  780.        these prefix characters to cause PibTerm to add the extra access codes
  781.        you need for alternate long-distance services like MCI or SPRINT.  For
  782.        example, if you use SPRINT then you need  to  dial  the  local  SPRINT
  783.        access  number,  followed  by your SPRINT access code, followed by the
  784.        actual number.  For clarity let's assume that the local SPRINT  access
  785.        number  is,  say,  888  8888,  and  our access code is 1234567.  For a
  786.        Hayes-like modem we could define the prefix string for '+' to be
  787.  
  788.           8888888,,,,1234567
  789.  
  790.        where each comma results in a  one  second  pause  to  provide  SPRINT
  791.        enough time to answer the call and request the access code.  To define
  792.        a prefix, use the P command.
  793.  
  794.        Let's assume that you have used the P command to  define  that  prefix
  795.        for  the  '+'  key.   If you enter then enter +13 PibTerm prefixes the
  796.  
  797.        Documentation for PibTerm version 3.0               07 Oct 85   Page 14
  798.  
  799.  
  800.  
  801.        number for Gene Plantz's BBS  from  the  dialing  directory  with  the
  802.        string associated with '+' and dials:
  803.  
  804.              8888888,,,,1234567 1 312 885 7144
  805.  
  806.        You  can  also  set  a default dialing prefix character.  For example,
  807.        assume that you hit the P key get to the prefix revision  menu.   Then
  808.        hit  the  S  key  to define (or remove) a default dialing prefix.  The
  809.        default prefix character MUST be one of the prefix characters above or
  810.        a blank.  The corresponding prefix string is automatically appended to
  811.        the front of a dialing directory number IF that number  contains  more
  812.        than  seven digits AND you request the number be dialed by hitting the
  813.        Enter key -- that is, the number to be dialed must  be  the  currently
  814.        highlighted  directory  entry.  The default prefix is NOT added to the
  815.        front of a dialing directory number  when  you  explicitly  type  that
  816.        number.
  817.  
  818.        Other dialing commands
  819.        ======================
  820.  
  821.  
  822.        M --- allows you to enter a complete phone number to be dialed.
  823.  
  824.        H --- hangs up the phone line.
  825.  
  826.        Q --- redials the last number dialed.  This feature works the same way
  827.        as the Alt-Q command, so see the section below on  the  Alt-Q  command
  828.        for further details.
  829.  
  830.        ESC --- takes you out of the dialing mode.
  831.  
  832.        When  entering a command, you need only hit that key to get PibTerm to
  833.        respond.  You do NOT need to hit the Enter key as well.  However, when
  834.        you  enter  a  directory  number  to be dialed, you DO need to hit the
  835.        enter key after the last digit of the number.
  836.  
  837.        If a successful connection to the remote system occurs, PibTerm checks
  838.        the  modem  connect  message  returned  by  the modem (if any) for the
  839.        string designated to be the modem connect message (MC= parameter).  If
  840.        it  is  found,  then  PibTerm  assumes  that  any  digits  immediately
  841.        following the modem message comprise the baud rate at which the  modem
  842.        connected.   If  that  baud  rate  differs from the current baud rate,
  843.        PibTerm adjusts the baud rate  automatically  to  match  that  of  the
  844.        remote host as indicated by the modem.
  845.  
  846.        If  the  connection  to  the remote system is not successful, then the
  847.        dialing directory is displayed again so that you  can  choose  another
  848.        number to dial if you wish.
  849.  
  850.  
  851.        Alt-E: Toggle local echo
  852.        =========================
  853.  
  854.        Some  systems  do  not  echo characters you type back to you.  In this
  855.  
  856.        Documentation for PibTerm version 3.0               07 Oct 85   Page 15
  857.  
  858.  
  859.  
  860.        case you can enter ALT-E to cause PibTerm to echo characters you type.
  861.        In  other words, if you can't see what you're typing when connected to
  862.        a remote host, enter Alt-E to toggle local echo  ON.   You  can  later
  863.        enter ALT-E to toggle local echo OFF again.
  864.  
  865.  
  866.        Alt-F: File manipulation
  867.        =========================
  868.  
  869.        Depressing ALT-F causes PibTerm to display a menu of file manipulation
  870.        facilities.  The menu displayed is:
  871.  
  872.           -[ Choose File Function:  ]--
  873.           | A)ctive directory change  |
  874.           | C)opy file                |
  875.           | D)irectory display        |
  876.           | E)rase file               |
  877.           | F)ree space on drive      |
  878.           | L)ogged drive change      |
  879.           | V)iew a file              |
  880.           | Q)uit                     |
  881.           -----------------------------
  882.  
  883.        Changing the active directory
  884.        =============================
  885.  
  886.        A)ctive directory change prompts you for the name of a  new  directory
  887.        path to be the logged directory.
  888.  
  889.        Copying a file
  890.        ==============
  891.  
  892.        C)opy  file prompts you for the name of a file to be copied and a name
  893.        for the copy.  Both names may include drive names and  full  directory
  894.        paths.  An exact byte-for-byte copy of the selected file is made.  The
  895.        length of the copied file will be  identical  to  the  length  of  the
  896.        original and NOT rounded up to a multiple of 128.
  897.  
  898.        Displaying the current directory
  899.        ================================
  900.  
  901.        D)irectory  display  provides  a  listing  of all files in the current
  902.        logged directory, their lengths, creation time  and  dates,  and  time
  903.        required  for  Xmodem  transmission  using  the current set baud rate.
  904.        (You can see what the currently  defined  baud  rate  is  by  entering
  905.        ALT-N.)
  906.  
  907.        Erasing a file
  908.        ==============
  909.  
  910.        E)rase file allows you to specify a file to be erased.  BE CAREFUL!
  911.  
  912.        Documentation for PibTerm version 3.0               07 Oct 85   Page 16
  913.  
  914.  
  915.  
  916.        Find free space on drive
  917.        ========================
  918.  
  919.        F)ree  space  on  drive  prompts  you  for the letter of a drive.  The
  920.        amount of free space in bytes for that drive is displayed.
  921.  
  922.        Changing the logged drive
  923.        =========================
  924.  
  925.        L)ogged drive change lets you enter the letter of a new  drive  to  be
  926.        used as the logged (current) drive.
  927.  
  928.        Viewing a file
  929.        ==============
  930.  
  931.        V)iew  a  file  lets  you list the contents of an Ascii file.  You can
  932.        request that a non-Ascii file be displayed, but  the  result  will  be
  933.        pretty much useless.
  934.  
  935.        Quit file manipulation
  936.        ======================
  937.  
  938.        Q)uit ends file manipulation mode and returns to terminal mode.
  939.  
  940.  
  941.        Alt-G: Enter gossip mode
  942.        =========================
  943.  
  944.        Gossip  mode  is  a  special split-screen mode that allows you to chat
  945.        with another remote user using PibTerm or Eterm.  The current  display
  946.        is  split  into  two  pieces: the top for characters received from the
  947.        remote system, and the bottom for characters you type.  This allows  a
  948.        conversation  to  take  place electronically in a full-duplex fashion,
  949.        i.e., both you and the remote system user can be entering text at  the
  950.        same time.
  951.  
  952.        You  can also use gossip mode to segregate what you type from what the
  953.        system types.
  954.  
  955.        Gossip mode is a dumb  terminal  mode  --  escape  sequences  are  not
  956.        processed.
  957.  
  958.  
  959.        Alt-H: Hang up the phone
  960.        =========================
  961.  
  962.        ALT-H  causes  PibTerm  to  hang  up the phone using the modem hang-up
  963.        command defined in the configuration file, if any.  If no  command  is
  964.        defined, or the command fails to hang up the phone, then PibTerm drops
  965.        DTR.  This should hang up the phone if  DTR  is  not  permanently  set
  966.        high.   PibTerm  reports if the phone was successfully hung up or not.
  967.        If not, you may have to manually hang up the phone line.
  968.  
  969.        Documentation for PibTerm version 3.0               07 Oct 85   Page 17
  970.  
  971.  
  972.  
  973.        Alt-I: Produce command list
  974.        ============================
  975.  
  976.        ALT-I displays a brief list of available PibTerm commands.
  977.  
  978.  
  979.        Alt-J: Jump to DOS
  980.        ===================
  981.  
  982.        ALT-J causes Pibterm to invoke a secondary copy  of  the  DOS  command
  983.        processor  using  DOS function 4B.  This function requires that 64K of
  984.        free space be available and will  fail  if  that  much  space  is  not
  985.        available.   If you are using the distributed version of PibTerm, then
  986.        the Alt-J functions requires a system with at least 360K.
  987.  
  988.        If the invocation succeeds, then you may enter DOS or  other  commands
  989.        to  your  heart's content.  Entering EXIT as a DOS command returns you
  990.        to PibTerm.   Note,  however,  that  invoking  another  program  which
  991.        commandeers  the  same  communications  port that PibTerm is using may
  992.        cause trouble, as may executing a program which in turn calls  up  yet
  993.        another  copy of the DOS command processor.  You may need to reboot if
  994.        your system locks up in either of these cases.
  995.  
  996.        Before  invoking  DOS,  PibTerm  changes  the  cursor  shape  from  an
  997.        underline  to  a  square  box.   This  reminds  you  that you are in a
  998.        secondary command processor level.  Upon return to PibTerm the  cursor
  999.        is set back to an underline.
  1000.  
  1001.  
  1002.        Alt-K: Set input keys
  1003.        ======================
  1004.  
  1005.        ALT-K  allows  you  to  define  strings  to be sent to the host system
  1006.        whenever any one of the forty function keys (F1 through F10, Shift  F1
  1007.        through  Shift  F10,  Alt F1 through Alt F10, and Ctrl F1 through Ctrl
  1008.        F10), or anyone of the keypad keys (Home, Ins, Del, PgUp,  PgDn,  End,
  1009.        arrow  keys,  and  Ctrl  and  Alt version of those keys) is depressed.
  1010.        Strings up of to 65 characters can be assigned to the  function  keys,
  1011.        and  strings  up  to  12 characters long can be assigned to the keypad
  1012.        keys.  This facility provides  great  flexibility  in  creating  logon
  1013.        scripts,  special  command sequences for host systems, terminal keypad
  1014.        values, and so on.
  1015.  
  1016.        When you hit ALT-K, you will see a menu with the following entries:
  1017.  
  1018.           -[ Choose Key Definition Method:  ]--
  1019.           | R)ead definitions from file       |
  1020.           | E)nter definitions from keyboard  |
  1021.           | W)rite definitions to file        |
  1022.           | Q)uit key definition              |
  1023.           -------------------------------------
  1024.  
  1025.        Documentation for PibTerm version 3.0               07 Oct 85   Page 18
  1026.  
  1027.  
  1028.  
  1029.        Reading key definitions from a file
  1030.        ===================================
  1031.  
  1032.        R)ead definitions from file causes PibTerm to ask you for the name  of
  1033.        a file containing key definitions.  You need only enter the first part
  1034.        of the file name; the suffix .FNC is assumed.   For  example,  if  you
  1035.        enter  "MYKEYS"  as  the  file  name,  that  is  the  same as entering
  1036.        "MYKEYS.FNC."  However, entering "MYKEYS."  causes PibTerm to look for
  1037.        the  file  "MYKEYS" WITHOUT the .FNC suffix.  Of course, you can enter
  1038.        the full file name if you  wish:  MYKEYS.FNC,  or  even  a  name  like
  1039.        MYKEYS.DAT.
  1040.  
  1041.        When PibTerm is initially invoked, the file PIBTERM.FNC, if it exists,
  1042.        is read in order to set the default  function  key  values.   You  may
  1043.        enter key definitions at the keyboard as described in the next section
  1044.        and then write the resulting definitions to PIBTERM.FNC so that  those
  1045.        definitions will automatically exist when PibTerm is executed.
  1046.  
  1047.        Entering key definitions at keyboard
  1048.        ====================================
  1049.  
  1050.        E)nter definitions from keyboard is used to set the key definitions by
  1051.        hand.  You can use E)nter to look at keys you've already  defined,  or
  1052.        to create a file to be used in a later session.
  1053.  
  1054.        Writing key definitions to a file
  1055.        =================================
  1056.  
  1057.        W)rite  definitions  to  file causes the current key definitions to be
  1058.        written out.  These can be read later using R)ead.   Again,  you  need
  1059.        only  enter  the  first  part  of  the  file  name; the suffix .FNC is
  1060.        automatically added if none appears in the file name you specify.
  1061.  
  1062.        Quiting key definition mode
  1063.        ===========================
  1064.  
  1065.        Q)uit leaves key definition mode and  returns  to  terminal  emulation
  1066.        mode.
  1067.  
  1068.        Contents of key definition strings
  1069.        ==================================
  1070.  
  1071.        The  actual  key  definitions  are  comprised  of ordinary Ascii text.
  1072.        There are four special characters defined for use with the  input  key
  1073.        facility:
  1074.  
  1075.             1. A  character  to represent a carriage return -- the default is
  1076.                '|' (ascii 174).  This character is  defined  by  FC=  in  the
  1077.                PIBTERM.CNF configuration file.
  1078.  
  1079.             2. A  character to cause a one-second delay -- the default is '~'
  1080.                (ascii 126).  The configuration parameter is FD=.
  1081.  
  1082.             3. A character to cause  PibTerm  to  wait  for  the  immediately
  1083.  
  1084.        Documentation for PibTerm version 3.0               07 Oct 85   Page 19
  1085.  
  1086.  
  1087.  
  1088.                following  character  to  be  sent by the remote system before
  1089.                sending any more of the function key string.  The  default  is
  1090.                '`' (ascii 96).  The configuration parameter is FW=.
  1091.  
  1092.             4. A  character  to mark the immediately following character as a
  1093.                control character.   The  default  is  '^'  (ascii  94).   For
  1094.                example,  entering  '^G' in a string (the ascii characters 94,
  1095.                71) results in a single character being entered in the string,
  1096.                ascii  7  -- the bell character, control-G.  When a key string
  1097.                containing control characters is written to a  file  using  W,
  1098.                all  the  embedded  control  characters  are converted to this
  1099.                marker character format.  Upon being  read  in  using  R,  the
  1100.                characters are converted back to control characters.
  1101.  
  1102.        These  characters may also be used when defining modem control strings
  1103.        using the modem definition submenu of ALT-P.
  1104.  
  1105.        As an example, let's create a one-key auto-logon script for a  typical
  1106.        RBBS-style  bulletin  board  system.   The usual logon sequence for an
  1107.        RBBS system is:
  1108.  
  1109.             1. Several carriage returns to select the baud rate;
  1110.  
  1111.             2. The first name, last name, and password.
  1112.  
  1113.        An appropriate script is:
  1114.  
  1115.           |~|~|~`?PHILIP;BURNS;PASSWORD|
  1116.  
  1117.        We send three carriage returns to help RBBS determine the  baud  rate.
  1118.        Then  we wait for the prompting question mark which asks for the first
  1119.        name.  On RBBS systems you can enter  the  entire  name  and  password
  1120.        separated  by  semicolons on one line.  We'll define the key ALT-F1 to
  1121.        contain the logon script.  We begin by hitting ALT-K to get  into  key
  1122.        definition  mode, and then hit E to get the keyboard entry menu, which
  1123.        looks like this:
  1124.  
  1125.  
  1126.           -[ Select keys to define: ]-
  1127.           | 1) Function keys 1 to 10 |
  1128.           | 2) Shifted function keys |
  1129.           | 3) Ctrl + function keys  |
  1130.           | 4) Alt + function keys   |
  1131.           | 5) Keypad keys           |
  1132.           | 6) Alt + keypad keys     |
  1133.           | 7) Ctrl + keypad keys    |
  1134.           | 8) Quit                  |
  1135.           ----------------------------
  1136.  
  1137.        We then hit 4 to choose the Alt + function  keys.   The  result  is  a
  1138.        display   of   the  current  values  of  the  Alt-F1  through  Alt-F10
  1139.        definitions, which will be blank since we have  not  yet  entered  any
  1140.        definition.   Hit  1  to indicate that it is Alt-F1 we wish to define.
  1141.        We then input the logon script  we  developed  above.   The  resulting
  1142.  
  1143.        Documentation for PibTerm version 3.0               07 Oct 85   Page 20
  1144.  
  1145.  
  1146.  
  1147.        screen  looks like this (this is slightly squeezed so we can fit it on
  1148.        the document page):
  1149.  
  1150.           -[ Input key definition ]--...--------------------------------
  1151.           |  # -Key Name- --------   ... Definition ... ------------   |
  1152.           |                                                            |
  1153.           |                                                            |
  1154.           |  1 Alt F1                                                  |
  1155.           |  2 Alt F2                                                  |
  1156.           |  3 Alt F3                                                  |
  1157.           |  4 Alt F4                                                  |
  1158.           |  5 Alt F5                                                  |
  1159.           |  6 Alt F6                                                  |
  1160.           |  7 Alt F7                                                  |
  1161.           |  8 Alt F8                                                  |
  1162.           |  9 Alt F9                                                  |
  1163.           | 10 Alt F10                                                 |
  1164.           |                                                            |
  1165.           |                                                            |
  1166.           |  Enter key number to redefine or <CR> to quit: 1           |
  1167.           |  Enter new key definition ...                              |
  1168.           |  -->|~|~|~`?PHILIP;BURNS;PASSWORD|                         |
  1169.           |                                                            |
  1170.           |                                                            |
  1171.           --------------------------------------------------------------
  1172.  
  1173.        Hitting the enter key completes the key definition.  Hitting 8he enter
  1174.        key  again  takes  us  back to the previous menu.  Entering 8 for quit
  1175.        takes us back to the very first Alt-K menu.  Hitting Q there lands  us
  1176.        back in emulation mode.
  1177.  
  1178.        We could now dial an RBBS system in our dialing directory and wait for
  1179.        the connection to be made.  Then, hitting ALT-F1  would  automatically
  1180.        cycle through the logon sequence.
  1181.  
  1182.        Using  a  single  function key to define an auto-login script is quite
  1183.        limited.  PibTerm provides a much more  powerful  script  facility  as
  1184.        well.  See the section later in this document on "Using Scripts."
  1185.  
  1186.        As  another  example  we can map the VT100's keypad for use with VT100
  1187.        emulation mode in PibTerm.  The sample file VT100.FNC,  included  with
  1188.        PibTerm,  defines  F1  through  F10  to  be the left half of the VT100
  1189.        keypad, and Shift F1 through Shift F10 to be the  right  half  of  the
  1190.        VT100 keypad.
  1191.  
  1192.        To use PibTerm with VAX/VMS, enter the VMS command
  1193.  
  1194.           SET TERMINAL/VT100
  1195.  
  1196.        which  tells  VMS that you're using a VT100 terminal, and select VT100
  1197.        emulation by hitting ALT-P and selecting "h) terminal definition."
  1198.  
  1199.        The file CDC.FNC contains another mapping of the VT100  keys  for  use
  1200.        with  Control Data's NOS operating system.  Here the function keys are
  1201.  
  1202.        Documentation for PibTerm version 3.0               07 Oct 85   Page 21
  1203.  
  1204.  
  1205.  
  1206.        set to automatically send a carriage return after the actual  function
  1207.        key,  as  the NOS operating system requires this.  To use PibTerm with
  1208.        NOS, enter the command
  1209.  
  1210.           SCREEN,VT100.
  1211.  
  1212.        when you have achieved a successful login  to  NOS.   As  before,  use
  1213.        ALT-P to select the VT100 emulation mode.
  1214.  
  1215.        When  running  on  VM/CMS  on  an  IBM  mainframe, with the Yale Ascii
  1216.        front-end processor, enter VT100 as the terminal  type  when  you  are
  1217.        prompted  for the terminal name by the system.  Again, ensure that you
  1218.        are actually in PibTerm VT100 emulation mode by using ALT-P to  select
  1219.        terminal emulation mode.
  1220.  
  1221.        At  this  time, not all the possible keypad key combinations will work
  1222.        properly.  That is, not all the keypad characters  displayed  actually
  1223.        allow  assignment  of  strings.   Try and see if a particular sequence
  1224.        works on your machine or not.  Later versions of PibTerm will be  able
  1225.        to handle this problem.
  1226.  
  1227.        Alt-L: Log session to printer
  1228.        ==============================
  1229.  
  1230.        ALT-L toggles the logging of your session to the printer.  The printer
  1231.        is written using the Turbo device LST, which is generally  DOS  device
  1232.        LPT1.  Initially printer logging is turned off.
  1233.  
  1234.  
  1235.        Alt-M: Toggle Mute Mode
  1236.        ==========================
  1237.  
  1238.        ALT-M  toggles  noise production by PibTerm.  If mute mode is ON, then
  1239.        any bells, beeps, or music received from the  host  is  ignored.   The
  1240.        default is to have those sounds come through.
  1241.  
  1242.        Normally when PibTerm wants to alert you that you've made a mistake in
  1243.        typing some kind of entry (especially in the menus), PibTerm rings the
  1244.        terminal  bell.   In  mute  mode,  PibTerm  flashes the word "<ALERT>"
  1245.        instead on line 25 of the PC's display.
  1246.  
  1247.  
  1248.        Alt-N: New communication parameters
  1249.        ====================================
  1250.  
  1251.        ALT-N allows you to quickly set new  communications  parameters.   Two
  1252.        menus  are displayed: the first prompts you for a new parity/data word
  1253.        length/stop bit combination, and the second prompts you for a new baud
  1254.        rate.   In  both  cases,  the  current settings are highlighted in the
  1255.        menus, so you can also use ALT-N to see what the current settings  are
  1256.        without  changing them -- just hit the enter key to select the current
  1257.        settings.
  1258.  
  1259.        Documentation for PibTerm version 3.0               07 Oct 85   Page 22
  1260.  
  1261.  
  1262.  
  1263.        Alt-O: Output session to disk
  1264.        ==============================
  1265.  
  1266.        ALT-O toggles the capture of the current session to disk.  This  works
  1267.        like ALT-L, except that instead of sending the session to the printer,
  1268.        the session is sent to a disk file.  PibTerm prompts you for the  name
  1269.        of  the  disk file.  If it exists, the captured session is appended to
  1270.        the end of the file.
  1271.  
  1272.        Any open capture file is closed when you escape to DOS.   This  allows
  1273.        you  to  look at the captured session with a file-listing program like
  1274.        TYPE, MORE, Buerg's LIST, or PibList.  When you re-enter PibTerm,  the
  1275.        capture  file  is  re-opened  and  the captured text for the continued
  1276.        session is appended to the end of the already captured text.   If  you
  1277.        have changed the directory, then the capture file cannot be re-opened.
  1278.        You will need to re-issue the Alt-O command in this case.
  1279.  
  1280.  
  1281.        Alt-P: Set parameters
  1282.        ======================
  1283.  
  1284.        ALT-P allows you to set  program  parameters.   These  parameters  are
  1285.        initially   read   from   the   configuration  file  PIBTERM.CNF.   If
  1286.        PIBTERM.CNF does NOT exist  when  PibTerm  is  invoked,  then  PibTerm
  1287.        cycles through the menus in the ALT-P series.
  1288.  
  1289.        The menu displayed when you press ALT-P is:
  1290.  
  1291.           --[ Set parameters ] ---------
  1292.           | a) Communications Port     |
  1293.           | b) Speed (Baud Rate)       |
  1294.           | c) Parity                  |
  1295.           | d) Data Bits               |
  1296.           | e) Stop Bits               |
  1297.           | f) Backspace               |
  1298.           | g) Linefeed toggle         |
  1299.           | h) Terminal Type           |
  1300.           | i) Modem setup             |
  1301.           | j) File transfer protocol  |
  1302.           | k) Kermit parameters       |
  1303.           | l) Screen dump file name   |
  1304.           | m) Video mode and colors   |
  1305.           | n) Miscellaneous           |
  1306.           | s) Execute Script file     |
  1307.           | w) Write new config file   |
  1308.           | q) Quit setup              |
  1309.           |                            |
  1310.           ------------------------------
  1311.  
  1312.        Each  of the menu entries (except w and q ) in turn calls up a submenu
  1313.        which allows you to set the corresponding program parameters.  A  list
  1314.        of  these  parameters appear below.  As an example, assume that we hit
  1315.        b) for speed.  The following menu box appears:
  1316.  
  1317.        Documentation for PibTerm version 3.0               07 Oct 85   Page 23
  1318.  
  1319.  
  1320.  
  1321.           -[ Choose Baud Rate ]-
  1322.           | a) 110             |
  1323.           | b) 150             |
  1324.           | c) 300             |
  1325.           | d) 600             |
  1326.           | e) 1200            |
  1327.           | f) 2400            |
  1328.           | g) 4800            |
  1329.           | h) 9600            |
  1330.           ----------------------
  1331.  
  1332.        The default baud rate will be highlighted in inverse video.   You  can
  1333.        either  enter one of the letters to select a new baud rate, or use the
  1334.        arrow keys to move to a new baud rate and then hit the enter key.
  1335.  
  1336.        The format of the file PIBTERM.CNF is as follows: in  columns  1-2  of
  1337.        each record is a code to identify a parameter.  After the parameter is
  1338.        an '=' sign.  Following the "=" the value of the parameter appears.
  1339.  
  1340.        The parameter names are:
  1341.  
  1342.           DA   --- number of data bits per character (7 or 8)
  1343.  
  1344.           PA   --- parity
  1345.                    = N: none
  1346.                    = E: even
  1347.                    = O: odd
  1348.  
  1349.           ST   --- number of stop bits (nearly always 1)
  1350.  
  1351.           BA   --- default baud rate (300 through 9600)
  1352.  
  1353.           PO   --- number of serial port (1 or 2)
  1354.  
  1355.           BS   --- decimal ascii value of backspace character
  1356.                    (8 if backspace sends backspace, 127 if backspace
  1357.                    sends delete)
  1358.  
  1359.           DE   --- decimal ascii value of delete character
  1360.                    (127 if delete sends delete, 8 if delete sends backspace)
  1361.  
  1362.           TE   --- terminal type to emulate
  1363.                    = 0:  Dumb terminal
  1364.                    = 1:  Dec VT52
  1365.                    = 2:  BBS/ANSI  (private DEC sequences not recognized)
  1366.                    = 3:  Dec VT100 (private DEC sequences ARE recognized)
  1367.                    = 4:  Gossip (split screen)
  1368.                    = 5:  Host mode
  1369.  
  1370.           LF   --- if line feeds to be added automatically when carriage return
  1371.                    received from remote system.
  1372.                    = 0: no
  1373.                    = 1: yes
  1374.  
  1375.        Documentation for PibTerm version 3.0               07 Oct 85   Page 24
  1376.  
  1377.  
  1378.  
  1379.           MI   --- modem initialization string
  1380.  
  1381.           MD   --- modem dialing command (e.g., ATDT for Hayes)
  1382.  
  1383.           MC   --- modem connect message (e.g., CONNECT for Hayes)
  1384.  
  1385.           MN   --- modem no carrier message (e.g., NO CARRIER for Hayes)
  1386.  
  1387.           MB   --- modem line busy message (e.g., BUSY for Hayes)
  1388.  
  1389.           ME   --- modem escape characters (e.g., +++ for Hayes)
  1390.  
  1391.           MT   --- milleseconds to surround modem escape sequence
  1392.                    (1500 for Hayes)
  1393.  
  1394.           MH   --- modem hangup command (e.g., ATH0 for Hayes)
  1395.  
  1396.           MO   --- modem timeout value in seconds, i.e., how long
  1397.                    to wait for a connection to be made.
  1398.  
  1399.           MR   --- delay in seconds between redials
  1400.  
  1401.           MA   --- modem command to answer phone (e.g., ATA for Hayes)
  1402.  
  1403.           MS   --- modem host mode setup string
  1404.  
  1405.           SM   --- silent mode
  1406.                    = 0: off
  1407.                    = 1: on
  1408.  
  1409.           LE   --- local echo
  1410.                    = 0: off
  1411.                    = 1: on
  1412.  
  1413.           FC   --- function key carriage return character
  1414.  
  1415.           FD   --- function key delay character
  1416.  
  1417.           FW   --- function key wait for following character
  1418.  
  1419.           FM   --- function key escape character marker
  1420.  
  1421.           TT   --- default file transfer protocol
  1422.                    = XK --- Xmodem checksum
  1423.                    = XC --- Xmodem CRC
  1424.                    = TC --- Telink
  1425.                    = M7 --- Modem7/CRC
  1426.                    = MK --- Modem7/Checksum
  1427.                    = AS --- Ascii
  1428.                    = YM --- Ymodem
  1429.                    = KE --- Kermit
  1430.  
  1431.           SD   --- name of screen dump file
  1432.  
  1433.        Documentation for PibTerm version 3.0               07 Oct 85   Page 25
  1434.  
  1435.  
  1436.  
  1437.           TB   --- number of bells to ring after file transfer complete
  1438.  
  1439.           TM   --- text mode for display
  1440.                    = M --- monochrome display
  1441.                    = C --- color display
  1442.  
  1443.           CF   --- Foreground color for text display.
  1444.                    = 0: Black         = 8:  DarkGray
  1445.                    = 1: Blue          = 9:  LightBlue
  1446.                    = 2: Green         = 10: LightGreen
  1447.                    = 3: Cyan          = 11: LightCyan
  1448.                    = 4: Red           = 12: LightRed
  1449.                    = 5: Magenta       = 13: LightMagenta
  1450.                    = 6: Brown         = 14: Yellow
  1451.                    = 7: LightGray     = 15: White
  1452.  
  1453.           CB   --- BackGround color for text display.
  1454.                    Same values as for CF.
  1455.  
  1456.           CT   --- Color for menu text.
  1457.                    Same values as for CT.
  1458.  
  1459.           CM   --- Color for menu frames.
  1460.                    Same values as for CM.
  1461.  
  1462.           BP   --- if CompuServe B protocol recognized in VT52 or ANSI mode.
  1463.                    = 0: no
  1464.                    = 1: yes
  1465.  
  1466.                    You should keep this option turned off unless you
  1467.                    are actually using CompuServe to prevent line noise
  1468.                    from accidentally throwing you into CompuServe mode.
  1469.                    CompuServe B protocol requests are signalled by the
  1470.                    reception of an Ascii 05 character (ENQ).
  1471.  
  1472.           EB   --- if EXEC PC BBS requests recognized in VT52 mode
  1473.                    0 = no, 1 = yes
  1474.  
  1475.                    This parameter if set to 1 allows you to perform
  1476.                    autodownloads from Bob Mahoney's EXEC PC BBS in Milwaukee.
  1477.  
  1478.           DP   --- default dialing prefix character
  1479.                    = blank    :  no default prefix character
  1480.                    = +,-,!,@,#:  that is the default character, and the
  1481.                                  corresponding PIBTERM.PRE entry if the
  1482.                                  default dialing prefix string.
  1483.  
  1484.                    If DP is not blank, then hitting the return (enter) key at
  1485.                    the dialing directory menu causes the highlighted number to
  1486.                    be dialed as usual, but the prefix string corresponding to
  1487.                    BP=  is prefixed to the phone number ONLY IF the phone number
  1488.                    is longer than seven digits (i.e., is apparently a
  1489.                    long-distance number).
  1490.  
  1491.        Documentation for PibTerm version 3.0               07 Oct 85   Page 26
  1492.  
  1493.  
  1494.  
  1495.           BB   --- number of lines in review (backscroll) buffer
  1496.                    = 0:  no backscroll buffer
  1497.                    > 0:  number of line, maximum of 800.
  1498.                          Number will be adjusted to available memory.
  1499.  
  1500.           XM   --- if "exploding" menus to be used.
  1501.                    = 0:  no
  1502.                    = 1:  yes
  1503.  
  1504.           XB   --- the number of bytes to be used as a download
  1505.                    buffer in file transfers.  The default is 2048 bytes,
  1506.                    which is 16 Xmodem 128 byte sectors.
  1507.  
  1508.           AB   --- if Host mode autobaud detection is to be based upon
  1509.                    information extracted from the modem connect message.
  1510.                    = 0:  no, wait for caller to enter carriage returns
  1511.                          and detect speed from that.
  1512.                    = 1:  yes, read modem connect message and get
  1513.                          speed from that (i.e., CONNECT 2400).
  1514.  
  1515.           VB   --- Background color for VT100 emulation mode.
  1516.                    = colors 0 through 15 as defined for CF= above.
  1517.  
  1518.           VF   --- Foreground color for VT100 emulation mode.
  1519.                    = colors 0 through 15 as defined for CF= above.
  1520.  
  1521.           VE   --- Foreground color for high-intensity VT100 mode.
  1522.                    = colors 0 through 15 as defined above.
  1523.  
  1524.           VU   --- Underline color for VT100 emulation mode.
  1525.                    = colors 0 through 15 as defined above.
  1526.  
  1527.           KC   --- Block check type for Kermit.
  1528.                    = 1: 6-bit checksum (default)
  1529.                    = 2: 12-bit checksum
  1530.                    = 3: 16-bit CRC
  1531.  
  1532.           KE   --- Marks end of Kermit packet
  1533.                    = Ascii ^M = CR (should not have to be changed)
  1534.  
  1535.           KH   --- Character marking start of Kermit packet.
  1536.                    = ^A = SOH (should not have to be changed)
  1537.  
  1538.           KN   --- Number of pad characters to put in Kermit packet.
  1539.                    Default is zero (no padding).
  1540.  
  1541.           KP   --- Default pad character.  Default is ^@ (Ascii 0).
  1542.  
  1543.           KQ   --- Control-quote character for Kermit (default is #).
  1544.  
  1545.           KR   --- Repeat data character for Kermit (default is ~).
  1546.  
  1547.           KS   --- Size of Kermit data packets (default is 80 characters).
  1548.  
  1549.        Documentation for PibTerm version 3.0               07 Oct 85   Page 27
  1550.  
  1551.  
  1552.  
  1553.           KT   --- Seconds to wait for character to arrive before timing out
  1554.                    in Kermit.
  1555.  
  1556.           KW   --- Seconds to wait before sending first file of batch
  1557.                    in Kermit upload mode.
  1558.  
  1559.           K8   --- Eighth-bit quoting character for Kermit
  1560.                    = & as default.
  1561.  
  1562.  
  1563.        There are some other parameters but they are  for  debugging  purposes
  1564.        and so can be ignored.
  1565.  
  1566.        There  are  two  sample  configuration  files  provided on the PibTerm
  1567.        distribution disk.  You should rename PIBBW.CNF to PIBTERM.CNF and use
  1568.        it   if  you  have  a  monochrome  monitor.   Rename  PIBCOLOR.CNF  to
  1569.        PIBTERM.CNF and use it if you have a color monitor.
  1570.  
  1571.        Here are the values provided by the sample PIBCOLOR.CNF file  included
  1572.        with  the  distribution copy of PibTerm.  The values for PIBBW.CNF are
  1573.        identical EXCEPT for the TM, CF, CB,  CT,  CM,  VB,  VF,  VE,  and  VU
  1574.        parameters.
  1575.  
  1576.  
  1577.           FC=|
  1578.           FD=~
  1579.           FW=`
  1580.           FM=^
  1581.           DA=8
  1582.           PA=N
  1583.           ST=1
  1584.           BA=1200
  1585.           PO=1
  1586.           BS=127
  1587.           DE=8
  1588.           TE=3
  1589.           AG=0
  1590.           LF=0
  1591.           MI=ATZ|~ATX1|~ATS10=30|
  1592.           MD=ATDT
  1593.           MC=CONNECT
  1594.           MN=NO CARRIER
  1595.           MB=BUSY
  1596.           ME=+++
  1597.           MT=1500
  1598.           MH=ATH0|
  1599.           MO=  60
  1600.           MR=  45
  1601.           MA=ATA|
  1602.           MS=ATZ|~ATX1|~ATS0=1|
  1603.           MW=50
  1604.           SM=1
  1605.           PM=0
  1606.           LE=0
  1607.  
  1608.        Documentation for PibTerm version 3.0               07 Oct 85   Page 28
  1609.  
  1610.  
  1611.  
  1612.           TT=XC
  1613.           SD=scrndump.dat
  1614.           GD=6
  1615.           TB=8
  1616.           TM=C
  1617.           CF=6
  1618.           CB=0
  1619.           CT=2
  1620.           CM=4
  1621.           BP=0
  1622.           EB=1
  1623.           DP=+
  1624.           BB=100
  1625.           XM=0
  1626.           CH=0
  1627.           XB=2048
  1628.           AB=1
  1629.           VB=0
  1630.           VF=6
  1631.           VE=14
  1632.           VU=1
  1633.           KC=1
  1634.           KD=1
  1635.           KE=^M
  1636.           KH=^A
  1637.           KN=0
  1638.           KP=^@
  1639.           KQ=#
  1640.           KR=~
  1641.           KS=80
  1642.           KT=5
  1643.           KW=15
  1644.           K8=&
  1645.  
  1646.        Since  PIBTERM.CNF  is  an ordinary Ascii text file, you can create or
  1647.        edit it with  an  text  editor  that  produces  such  files.   Illegal
  1648.        parameters are ignored by PibTerm.
  1649.  
  1650.  
  1651.        Alt-Q: Redial last number dialed
  1652.        =================================
  1653.  
  1654.        ALT-Q  starts  a  re-dial  of  the  last number dialed, if any.  If no
  1655.        number has been previously dialed in the current PibTerm session, then
  1656.        you  are  prompted  to  enter  a dialing entry, just like in the ALT-D
  1657.        command above.  Redialing  continues  until  you  terminate  it  or  a
  1658.        connection is made.  Only one system can be re-dialed at a time.
  1659.  
  1660.        During  the  period  between  redials  PibTerm  displays a continually
  1661.        decremented timer telling you how long it  will  be  before  the  next
  1662.        redial attempt.  You also receive the prompt
  1663.  
  1664.            R = redial now ESC = stop C = change delay
  1665.  
  1666.        Documentation for PibTerm version 3.0               07 Oct 85   Page 29
  1667.  
  1668.  
  1669.  
  1670.        If  you  hit R then an immediate redial occurs.  If you hit the escape
  1671.        key (ESC) then the redial is cancelled.  If you hit  C  then  you  are
  1672.        prompted  for  a  change  in  the  redial delay.  Enter the new redial
  1673.        delay, which is the number of seconds between  redial  attempts.   The
  1674.        redial   delay  is  initially  set  from  the  parameter  MR=  in  the
  1675.        PIBTERM.CNF file.
  1676.  
  1677.  
  1678.        Alt-R: Receive file from remote
  1679.        ================================
  1680.  
  1681.        ALT-R allows you to receive a file from the remote  system.   You  are
  1682.        prompted  for  the  name(s)  of  the  files  to be transferred and the
  1683.        transfer protocol.  For all protocols you will see  a  menu  detailing
  1684.        the  progress  of the transmission -- blocks received, lines received,
  1685.        errors encountered, and so on.
  1686.  
  1687.        The following transfer protocols are available in PibTerm:
  1688.  
  1689.           -- Xmodem Checksum and CRC
  1690.           -- Modem7 batch with either Checksum or CRC
  1691.           -- Ymodem (YAM)
  1692.           -- Telink
  1693.           -- Ascii with XON/XOFF
  1694.           -- Autodownload for Bob Mahoney's EXEC PC BBS.
  1695.           -- Kermit
  1696.           -- CompuServe B protocol
  1697.  
  1698.        The menu you see when you hit Alt-R looks like this:
  1699.  
  1700.            -[ Choose file transfer protocol for download: ]------
  1701.            | a) Ascii                                           |
  1702.            | b) Xmodem (Checksum)                               |
  1703.            | c) Xmodem (CRC)                                    |
  1704.            | d) Kermit                                          |
  1705.            | e) Telink                                          |
  1706.            | f) Modem7 (Checksum)                               |
  1707.            | g) Modem7 (CRC)                                    |
  1708.            | h) Ymodem                                          |
  1709.            | i) Ymodem (Batch)                                  |
  1710.            |                                                    |
  1711.            |                                                    |
  1712.            |                                                    |
  1713.            |                                                    |
  1714.            |                                                    |
  1715.            |                                                    |
  1716.            ------------------------------------------------------
  1717.  
  1718.        Ascii
  1719.        =====
  1720.  
  1721.        Ascii file  transfer  receives  a  file  without  any  kind  of  error
  1722.        checking.   This is the fastest transmission method for text files and
  1723.        generally works well on hard-wired lines.  It does NOT work for binary
  1724.  
  1725.        Documentation for PibTerm version 3.0               07 Oct 85   Page 30
  1726.  
  1727.  
  1728.  
  1729.        files,  and  it is NOT well-suited for use over phone lines or digital
  1730.        transmission units.  This is because of the high probability  of  line
  1731.        noise  introducing  spurious characters -- especially on long-distance
  1732.        calls.
  1733.  
  1734.        Xmodem
  1735.        ======
  1736.  
  1737.        Xmodem Checksum and Xmodem CRC are the two commonest transfer  methods
  1738.        for  use  with  remote  bulletin  board systems and many mini-computer
  1739.        systems.  These  are  single-file-at-a-time  transfer  methods.   Ward
  1740.        Christensen  originated the Xmodem protocol.  Files are transmitted in
  1741.        128 character blocks along with  the  block  number  and  checksum  or
  1742.        cyclic redundancy check information.  This allows the receiving system
  1743.        to ensure that the transmission has occurred correctly to a very  high
  1744.        degree  of  probability.  The CRC error-checking method is superior to
  1745.        the Checksum method, so you should always use the CRC  method  if  the
  1746.        remote  system to which you are connected accepts it.  RCPM, Fido, and
  1747.        PC Host bulletin board systems  support  Xmodem  CRC;  recently,  RBBS
  1748.        systems  have  started  to  support it.  Few mainframe systems support
  1749.        Xmodem; CDC's NOS is one that does.
  1750.  
  1751.        Modem7
  1752.        ======
  1753.  
  1754.        Modem7 batch protocol is a variant of Xmodem which sends the file name
  1755.        before  the  file  itself.  This provides for sending a batch of files
  1756.        all at one time.  Each file is preceded  by  the  file  name.   Either
  1757.        checksum or CRC error-checking can be used with Modem7.
  1758.  
  1759.        Ymodem
  1760.        ======
  1761.  
  1762.        Ymodem  is  another  Xmodem  variant  which  provides  for  long  1024
  1763.        character blocks -- more efficient for higher baud  rates  like  2400,
  1764.        4800,  and  9600  baud -- and for sending the exact file size.  Ymodem
  1765.        also has facilities for sending the file creation  time.   Ymodem  can
  1766.        act  either  as  a  single-file  or a batch-file protocol.  Ymodem was
  1767.        developed by Chuck Forsberg and Ward  Christensen.   PibTerm  supports
  1768.        both  the  single-file  and batch version of Ymodem, and also supports
  1769.        the file length and file creation time information.
  1770.  
  1771.        Telink
  1772.        ======
  1773.  
  1774.        Telink is a variant of Modem7  proposed  by  Tom  Jennings  that  adds
  1775.        information  on  file  size  and  file creation time to the file name.
  1776.        PibTerm will use the file size  and  creation  time  information  from
  1777.        Telink  if it appears.  Telink is most useful with FIDO bulletin board
  1778.        systems.  PibTerm always requests the CRC  version  of  Telink,  since
  1779.        there is no reason to use the Checksum version.
  1780.  
  1781.        Incidentally,  if  you  enter  the wrong Xmodem variant protocol name,
  1782.        PibTerm will try and adjust as it  receives  blocks  from  the  remote
  1783.  
  1784.        Documentation for PibTerm version 3.0               07 Oct 85   Page 31
  1785.  
  1786.  
  1787.  
  1788.        system.  In other words, if the remote system decides to send the file
  1789.        using Telink, but you just say Modem7, PibTerm will adjust  to  Telink
  1790.        anyway.   Likewise,  a  Ymodem  1024-character  block is automatically
  1791.        handled, as is the Ymodem header block if any, even if  you  say  that
  1792.        you  want an Xmodem transfer.  Of course, PibTerm cannot always adjust
  1793.        properly, so it's best to tell it the proper transfer  type  to  avoid
  1794.        problems.
  1795.  
  1796.        Kermit
  1797.        ======
  1798.  
  1799.        Kermit  is  a  protocol  developed  at  Columbia  University.   It  is
  1800.        available on a large  number  of  computer  systems,  from  micros  to
  1801.        mainframes.   It  is  probably the commonest and most widely available
  1802.        protocol on mainframes.  It is also the  only  protocol  available  in
  1803.        PibTerm  that  provides  for  transferring  binary files even when the
  1804.        transmission parameters are set for 7 bits.  Kermit does  this  though
  1805.        the  use  of  a  "quoting"  mechanism  so  that  an 8-bit character is
  1806.        transmitted as a special marker character  indicating  the  high-order
  1807.        bit  is  turned  on  and a second character containing the other seven
  1808.        bits.  Kermit can transmit a single file or a  group  of  files.   The
  1809.        version  implemented  in PibTerm can be used with a remote server, but
  1810.        PibTerm itself does not act as a Kermit server.
  1811.  
  1812.        Here is the menu which appears when you choose Kermit protocol:
  1813.  
  1814.            -[ Choose Kermit function: ]-----------
  1815.            |                                     |
  1816.            | a) GET text file                    |
  1817.            | b) GET binary file                  |
  1818.            | c) RECEIVE text file                |
  1819.            | d) RECEIVE binary file              |
  1820.            | L) Logout remote server             |
  1821.            | Q) Quit kermit                      |
  1822.            |                                     |
  1823.            |                                     |
  1824.            ---------------------------------------
  1825.  
  1826.  
  1827.        With Kermit you need to distinguish between receiving a text file  and
  1828.        receiving a binary file.  Many mainframe Kermits will only accept text
  1829.        files, while some  microcomputer  Kermits  only  accept  binary  files
  1830.        (including  text  files  send as binary files).  When receiving a file
  1831.        you  must  also  distinguish  between  the  Kermit  GET  and   RECEIVE
  1832.        functions.   Use  RECEIVE  to  transfer  a file when you have manually
  1833.        requested the remote Kermit to SEND a file.  Use  GET  to  transfer  a
  1834.        file  when  the  remote system is in server mode.  You can also logout
  1835.        the remote Kermit server from PibTerm using the L) Logout entry in the
  1836.        Kermit transfer menu.  PibTerm leaves you at the Kermit menu until you
  1837.        type Q) quit; this allows you to GET  many  files  without  having  to
  1838.        first type an Alt-R for each.
  1839.  
  1840.        If  you choose a) GET text file or b) GET binary file then you will be
  1841.        prompted for the name of the file to receive.  This should be the name
  1842.  
  1843.        Documentation for PibTerm version 3.0               07 Oct 85   Page 32
  1844.  
  1845.  
  1846.  
  1847.        of  the file on the remote system.  If the name is not compatible with
  1848.        MS DOS file naming conventions, PibTerm will try to alter it  to  make
  1849.        it  compatible.   If  the  file name already exists, then PibTerm will
  1850.        rename the incoming file.  In either case you will be  told  what  the
  1851.        revised file name will be.
  1852.  
  1853.        If  you choose c) RECEIVE text file or d) RECEIVE binary file then the
  1854.        (possibly altered) file name from the remote system is used.
  1855.  
  1856.        You  may  enter  a  wildcard  specification  if  the   remote   system
  1857.        understands it.
  1858.  
  1859.        There  are  a  number of Kermit parameters which can be defined at the
  1860.        Alt-P K) Kermit parameters menu.  In general, you will never  need  to
  1861.        alter  those  values.   If  you  do, consult the Kermit manual for the
  1862.        remote system in order to see what settings you need to use.
  1863.  
  1864.        Because of the text/binary complication, you may find  that  a  Kermit
  1865.        transfer  fails if you specify the wrong type.  Most often, you should
  1866.        use the TEXT transfers to mainframes,  and  the  BINARY  transfers  to
  1867.        micros.   You  may  also  need to set parameters in the remote Kermit,
  1868.        such as character set type or  timeout  values.   Again,  consult  the
  1869.        reference manual for the remote system's Kermit for details.
  1870.  
  1871.        There  are  three  different  error-checking  methods  used in various
  1872.        Kermit implementations.  The first method, which all Kermits allow, is
  1873.        the   6-bit  checksum.   Some  Kermits  optionally  provide  a  12-bit
  1874.        Checksum, which is the second method.  The third method is  to  use  a
  1875.        16-bit  CRC,  similar  to  the  one in Xmodem-CRC but differing in the
  1876.        definition of the bit string order.  PibTerm's Kermit will  work  with
  1877.        any  of  those  three block checks.  If the remote Kermit provides the
  1878.        16-bit CRC, you should use that on phone lines.   The  6-bit  Checksum
  1879.        seems  reliable  enough  for  hard-wired  connections.   On downloads,
  1880.        PibTerm automatically switches to  whatever  block  check  the  remote
  1881.        Kermit  uses.   You  generally  need  to issue a command to the remote
  1882.        Kermit to get it to use the optional block checks.  See the  reference
  1883.        manual for the remote Kermit for details.
  1884.  
  1885.        The Kermit implementation in PibTerm is based in part upon the TKERMIT
  1886.        program written by Jeff Duncan.  Thanks Jeff!
  1887.  
  1888.        Mahoney BBS autodownload
  1889.        ========================
  1890.  
  1891.        Bob Mahoney implemented a special variant of Modem7 protocol  for  use
  1892.        on  his  EXEC PC BBS system in Milwaukee, Wisconsin.  This protocol is
  1893.        ONLY available when you are in VT52 emulation mode;  this  corresponds
  1894.        to  the  IBM  3101  mode  used  by Bob's BBS.  To use the autodownload
  1895.        feature on EXEC PC BBS, you must be in the file transfer menu of  EXEC
  1896.        PC.  You then enter
  1897.  
  1898.           A;file1;file2;file3;....
  1899.  
  1900.        where  the  A  indicates an autodownload is desired, and file1, file2,
  1901.  
  1902.        Documentation for PibTerm version 3.0               07 Oct 85   Page 33
  1903.  
  1904.  
  1905.  
  1906.        etc.  are the file names of files to download.   You  need  NOT  enter
  1907.        ALT-R  at  all,  since PibTerm will receive instructions directly from
  1908.        EXEC PC BBS to begin and execute the download.  Greg Ryan provided the
  1909.        original  code in Turbo Pascal to implement this autodownload facility
  1910.        (thanks, Greg!).
  1911.  
  1912.        CIS B
  1913.        =====
  1914.  
  1915.        CompuServe B Protocol, like the special Exec PC BBS protocol, does NOT
  1916.        require  an  explicit  Alt-R  for a download.  Instead, you must be in
  1917.        VT52 or Ansi or VT100 mode, and you must have  set  the  Compuserve  B
  1918.        recognized  flag  (using  Alt-P, then requesting the "n) miscellaneous
  1919.        parameters" menu).  CompuServe will issue an Ascii 05 character (ENQ),
  1920.        which  automatically  starts the transfer.  You can halt a transfer by
  1921.        hitting the ESC (escape) key.  The actual cancellation time can be  as
  1922.        much  as  thirty  or  forty  seconds.   You  should avoid setting this
  1923.        protocol ON by default unless you  are  about  to  do  a  transfer  on
  1924.        CompuServe.   The  reason  is  that  line  noise  often appears as ENQ
  1925.        characters,  resulting  in   spurious   CompuServe   transfers   being
  1926.        initiated.
  1927.  
  1928.        In  the  single-file  tranmission  methods,  you  are  informed  if  a
  1929.        downloaded file would overwrite an existing  file.   No  such  warning
  1930.        occurs  in the batch transfer methods, to avoid timeout problems.  The
  1931.        best approach is to change the logged directory when downloading files
  1932.        to be an empty directory.
  1933.  
  1934.        You may cancel a transfer by hitting ALT-R again while the transfer is
  1935.        in progress.  Do not expect an immediate response from  PibTerm  since
  1936.        the  cancellation  requires  some  handshaking between PibTerm and the
  1937.        remote system.
  1938.  
  1939.        At this time, PibTerm does NOT check if  the  download  disk  contains
  1940.        enough  room  to hold the received file.  You should ensure that there
  1941.        is enough room before starting a transfer.
  1942.  
  1943.        The default download buffer for Xmodem is large enough to hold sixteen
  1944.        128-byte  or  two  1024-byte sectors.  This means that a disk write is
  1945.        usually done only after collecting sixteen  128-byte  sectors  or  two
  1946.        1024-byte  sectors.   You  can adjust this buffer size by altering the
  1947.        value of the 'XB=' parameter (see the Alt-P section above) to indicate
  1948.        the  number  of 128-byte sectors to hold in memory before a disk write
  1949.        is performed.  The expanded buffer size is also used by Kermit.
  1950.  
  1951.        PibTerm requires AT LEAST TWO CAN characters (Ctrl-X or Ascii  24)  to
  1952.        cancel  a download.  This eliminates unnecessary cancellations because
  1953.        of spurious CANs attributable to line noise.
  1954.  
  1955.        Documentation for PibTerm version 3.0               07 Oct 85   Page 34
  1956.  
  1957.  
  1958.  
  1959.        Alt-S: Send file to remote
  1960.        ===========================
  1961.  
  1962.        ALT-S allows you to send files to a remote system.  The same protocols
  1963.        are  available as for sending files, with the exception of the EXEC PC
  1964.        method, for which there is no corresponding auto-upload.  The menu for
  1965.        uploads resembles that for downloads.
  1966.  
  1967.        For  single file transmission methods you are prompted for the name of
  1968.        the file to be transmitted.  For the batch methods  you  may  enter  a
  1969.        wildcard   specification,   and   all   files  matching  the  wildcard
  1970.        specification will be transmitted to the remote system.  For  example,
  1971.        if the current logged directory has three files
  1972.  
  1973.           A.PAS
  1974.           B.PAS
  1975.           C.PAS
  1976.  
  1977.        then  entering  the  file name as *.PAS to, say, Modem7 results in all
  1978.        three files being transmitted to the remote system.
  1979.  
  1980.        You may cancel a transfer (except in CompuServe  B  mode)  by  hitting
  1981.        ALT-S  again  while  the  transfer  is  in progress.  Do not expect an
  1982.        immediate response from PibTerm since the cancellation  requires  some
  1983.        handshaking between PibTerm and the remote system.
  1984.  
  1985.        When  you  upload  an Ascii file, you will be prompted for the name of
  1986.        the file.  Then, you will be asked the following questions:
  1987.  
  1988.             1. What delay to use between characters;
  1989.  
  1990.             2. What delay to use at the end of a line;
  1991.  
  1992.             3. What character to wait for from the remote system in order  to
  1993.                send the next line (the pacing character);
  1994.  
  1995.             4. Whether  to  send  a carriage return only or a carriage return
  1996.                and line feed combination at the end of each line.
  1997.  
  1998.        The inter-character delay and inter-line delays  provide  a  means  of
  1999.        slowing  down  the transfer to accomodate slow mainframe systems which
  2000.        have difficulty accepting large batches of  characters  all  at  once.
  2001.        The  pacing  character  instructs  PibTerm  to wait until the selected
  2002.        character appears from the remote before sending each  line  of  text.
  2003.        Some  remote  systems  prefer  to have an ascii file entered only with
  2004.        carriage returns, not carriage returns and line feeds together.
  2005.  
  2006.        CompuServe B Protocol does  NOT  require  an  explicit  Alt-S  for  an
  2007.        upload.   Instead,  you must be in VT52 or Ansi or VT100 mode, and you
  2008.        must have set the Compuserve B recognized flag (using Alt-P  and  then
  2009.        requesting  the  "n) miscellaneous parameters" menu).  CompuServe will
  2010.        handle the transfer automatically.  You can halt a transfer by hitting
  2011.        the  ESC (escape) key.  The actual cancellation time can be as much as
  2012.        thirty or forty seconds.  You should avoid setting this protocol ON by
  2013.  
  2014.        Documentation for PibTerm version 3.0               07 Oct 85   Page 35
  2015.  
  2016.  
  2017.  
  2018.        default  unless  you  are  about  to do a transfer on CompuServe.  The
  2019.        reason is that line noise often appears as ENQ  characters,  resulting
  2020.        in spurious CompuServe transfers being initiated.
  2021.  
  2022.        Alt-T: Get translate table
  2023.        ===========================
  2024.  
  2025.        ALT-T  allows  you  to  define  a  translation  map  for  all incoming
  2026.        characters.  You may request that any one of the 256 Ascii  characters
  2027.        be  changed  to  any other character.  This facility is most useful in
  2028.        stripping unwanted  characters  --  just  request  that  the  incoming
  2029.        unwanted  characters be translated to nulls (binary 0 -- also known as
  2030.        control-@).
  2031.  
  2032.        ALT-T causes PibTerm to prompt you for the name of a  file  containing
  2033.        translation  information.   You  can  enter  the name of a file if one
  2034.        exists, or just hit the enter key if you want to enter the translation
  2035.        mapping from the PC's keyboard.  You need only enter the first part of
  2036.        the name; the suffix .TRA is assumed.  The translate file  PIBTERM.TRA
  2037.        (if  it  exists)  is automatically read when PibTerm is first invoked.
  2038.        You can create that file here using keyboard definition mode.
  2039.  
  2040.        If you hit enter rather than a  file  name  PibTerm  displays  a  menu
  2041.        containing  the current translation definitions for ascii characters 0
  2042.        through 127.  You can hit S to select  a  display  of  characters  128
  2043.        through  255.   Use  arrows  to  move  up/down/left/right  through the
  2044.        displayed table.  To change a character  definition,  just  enter  the
  2045.        decimal  value  of  the  ascii  character to which to map the selected
  2046.        character.  You may define as many characters as you please.
  2047.  
  2048.        To exit the translate definition mode, hit the ESC (escape) key.   You
  2049.        will  be  prompted  for  the  name  of  a  file  to  which to save the
  2050.        definitions.  You can just hit  the  enter  key,  in  which  case  the
  2051.        definitions are not saved to a file.  If you do enter a file name, you
  2052.        need only enter the first  part  of  the  name;  the  suffix  .TRA  is
  2053.        assumed.   You  can  then  use  that  file  later by hitting ALT-K and
  2054.        providing that file name.
  2055.  
  2056.        You may have as many different files of translation  mappings  as  you
  2057.        want, but of course only one translation mapping can be in effect at a
  2058.        time.  You can change the mapping by hitting ALT-K to read a new  file
  2059.        or edit the definitions by hand.
  2060.  
  2061.        The file STRIPHI.TRA provided as part of the PibTerm release materials
  2062.        contains a translation table that causes the Ascii characters from 128
  2063.        through  255  to be mapped into the characters 0 through 127 in order.
  2064.        This mapping is useful if you are calling  a  remote  system  using  8
  2065.        bits,  and  No Parity as the communications parameters -- a good first
  2066.        choice -- and you see mostly garbage on the screen  after  connecting.
  2067.        The  garbage  is often a result of the remote system using even or odd
  2068.        parity.  When using STRIPHI.TRA, PibTerm will strip the parity bit off
  2069.        each incoming character so that you can read it and figure out what to
  2070.        do next.
  2071.  
  2072.        Documentation for PibTerm version 3.0               07 Oct 85   Page 36
  2073.  
  2074.  
  2075.  
  2076.        Alt-U: Screen dump to file
  2077.        ===========================
  2078.  
  2079.        ALT-U prompts you for a file name to receive the text of the currently
  2080.        displayed screen image.  Only the text on the screen is written to the
  2081.        file, not the attributes (like color, or blink).  You can only perform
  2082.        a  screen dump when you are in terminal mode, NOT when you are already
  2083.        at another menu or in host mode.
  2084.  
  2085.        ALT-V: View Back Scroll Buffer
  2086.        ===============================
  2087.  
  2088.        If the BB=n parameter is greater than zero,  then  PibTerm  saves  the
  2089.        last n lines displayed on the screen in a back scroll buffer.  You can
  2090.        display the saved lines by  hitting  Alt-V.   The  result  will  be  a
  2091.        split-screen  display in which the first 20 lines of the screen act as
  2092.        a window over the back scroll buffer, and the available  commands  and
  2093.        the  number  of  the current line being viewed appear at the bottom of
  2094.        the screen.
  2095.  
  2096.        The PC keypad keys control viewing.  Use the up  and  down  arrows  to
  2097.        scroll  up  and down one line at a time through the saved lines.  PgUp
  2098.        and PgDn take you up and down a page of 20 lines, respectively.   Home
  2099.        takes  you to the first page, and End takes you to the last page.  ESC
  2100.        exists the view mode.
  2101.  
  2102.        The view buffer does NOT take account  of  escape  sequences,  so  the
  2103.        resulting  saved  display  for  a  full-screen session may not be very
  2104.        readable.
  2105.  
  2106.        Alt-W: Wait for call
  2107.        =====================
  2108.  
  2109.        ALT-W causes PibTerm to enter host mode.  In this  mode  PibTerm  acts
  2110.        like  a mini-BBS and answers the phone, providing a simple message and
  2111.        file-transfer facility.  More details on using host  mode  in  PibTerm
  2112.        can be found in a special section on PibTerm host mode below.
  2113.  
  2114.  
  2115.        Alt-X: Exit PibTerm
  2116.        ====================
  2117.  
  2118.        Alt-X serves three purposes:
  2119.  
  2120.             1. If a "WHEN" string is active, Alt-X is used to stop the "WHEN"
  2121.                processing from happening.
  2122.  
  2123.             2. If  a  script  is  executing,  Alt-X  stops  the  script  from
  2124.                executing.
  2125.  
  2126.             3. If no script is running, Alt-X is used to exit PibTerm.
  2127.  
  2128.        The  phone  line is NOT necessarily hung up when you exit PibTerm.  It
  2129.        generally will be if you have the DTR line set  normal.   This  allows
  2130.  
  2131.        Documentation for PibTerm version 3.0               07 Oct 85   Page 37
  2132.  
  2133.  
  2134.  
  2135.        you  to re-enter the session at a later time if you so desire.  If you
  2136.        set DTR permanently high, then the phone line is probably NOT hung  up
  2137.        when you exit PibTerm.  Hence, you should be sure to hang-up the phone
  2138.        using ALT-H before leaving PibTerm if you do not plan  to  re-enter  a
  2139.        session.
  2140.  
  2141.  
  2142.        Alt-Y: Display elapsed time
  2143.        ============================
  2144.  
  2145.        Alt-Y  displays  two elapsed time values: the total time since PibTerm
  2146.        started executing, and the elapsed  time  since  the  last  successful
  2147.        remote dialing session began.  You may clear the latter timer value by
  2148.        entering a C when prompted.
  2149.  
  2150.        Alt-Z: Get area code
  2151.        =====================
  2152.  
  2153.        ALT-Z invokes PibTerm's built-in  dialing  area  directory.   You  can
  2154.        enter  a  dialing  code,  a  state,  or  a  country  and  receive  the
  2155.        corresponding state, country, or dialing  codes.   For  domestic  area
  2156.        codes,  you  also receive a list of representative cities and towns in
  2157.        that area.
  2158.  
  2159.        Shift-Tab: Toggle adding linefeeds
  2160.        ===================================
  2161.  
  2162.        Some systems may not send a carriage return/line  feed  sequence,  but
  2163.        only  a  carriage return, assuming that a line feed will automatically
  2164.        be added by the  remote  terminal.   Hitting  Shift-Tab  toggles  this
  2165.        automatic  addition of a line-feed character to each incoming carriage
  2166.        return.  If you log into a system and all the lines  from  the  remote
  2167.        system are being displayed on a single line, then you probably need to
  2168.        toggle linefeed mode by hitting Shift-Tab.
  2169.  
  2170.  
  2171.        NOTES ON TERMINAL EMULATION
  2172.        ===========================
  2173.  
  2174.        PibTerm  provides  dumb  terminal  emulation  (and  gossip   mode,   a
  2175.        split-screen  dumb  terminal mode), an ANSI mode for connecting to BBS
  2176.        systems which use ANSI graphics and music, Dec VT52  mode  (which  can
  2177.        also be used to display some IBM 3101 codes), and Dec VT100 mode.  The
  2178.        VT52, VT100, and ANSI/BBS modes need some further explanation.
  2179.  
  2180.        VT52 MODE
  2181.        =========
  2182.  
  2183.        The VT52 mode is quite complete, and features a couple  of  additional
  2184.        escape  sequences  for  use  with  Bob  Mahoney's EXEC PC BBS (for box
  2185.        drawing  and  auto-downloading).   Many  mainframe  and  mini  systems
  2186.        recognize the VT52 terminal.
  2187.  
  2188.        The  keypad  is mapped onto the function keys F1 through F10 and Shift
  2189.  
  2190.        Documentation for PibTerm version 3.0               07 Oct 85   Page 38
  2191.  
  2192.  
  2193.  
  2194.        F1 through Shift F10.  F1 through F10 are the LEFT half of the keypad;
  2195.        Shift  F1 through Shift F10 are the RIGHT half of the keypad.  You may
  2196.        also use the PC's arrow keys as the VT52  cursor  keys.   Double-width
  2197.        keys in the real VT52 keypad are mapped on to two adjacent keys on the
  2198.        PC's function keys.  Pressing either of the PC function keys which map
  2199.        to one VT52 key will activate that key.
  2200.  
  2201.        Note  that  the  VT52  function  key  definitions  OVERRIDE  ANY OTHER
  2202.        DEFINITIONS YOU MAKE for the function keys.
  2203.  
  2204.  
  2205.        VT100 MODE
  2206.        ==========
  2207.  
  2208.        The PibTerm VT100 emulator processes all the codes that  the  standard
  2209.        MS  DOS  ANSI.SYS  processes,  plus  a  number  of  private DEC escape
  2210.        sequences.  VT102 codes for character insert  and  delete  or  printer
  2211.        control  are NOT implemented (yet!).  Mode change requests ( ESC [ ...
  2212.        l or ESC [ ...  h ) that change character  sizes  are  ignored.   This
  2213.        means no double height or double width characters, no 132 column mode,
  2214.        and so on.  Also, only fixed position tabs are allowed -- tab  setting
  2215.        is  not  implemented.  In general, any escape sequence not implemented
  2216.        in PibTerm is simply swallowed up and ignored.
  2217.  
  2218.        Nevertheless, the implemented sequences  are  sufficient  to  use  the
  2219.        full-screen  editors EDT under Dec's VAX/VMS, XEdit under IBM's VM/CMS
  2220.        (through some Ascii front end protocol converter, e.g.,  Yale's),  and
  2221.        FSE under CDC's NOS operating system.
  2222.  
  2223.        Unlike  the  VT52  mode,  the  VT100 keypad has NOT been mapped onto a
  2224.        fixed set of keys.  Instead, you can define  whatever  keys  are  most
  2225.        convenient  for  your  particular  application.   The  file  VT100.FNC
  2226.        provided with this copy of PibTerm contains definitions which map  the
  2227.        standard  VT100  keypad  applications  mode keys onto function keys F1
  2228.        through F10 and Shift F1 through Shift F10 -- again, the left half  of
  2229.        the  VT100  keypad  is mapped to F1 through F10, and the right half is
  2230.        mapped to Shift F1 through Shift F10.  The PC's  arrow  keys  function
  2231.        like the keypad application mode cursor keys.
  2232.  
  2233.        The  file  CDCNOS.FNC  contains  definitions  useful  under  CDC's NOS
  2234.        operating system.  Unlike the VAX, the  CDC  system  requires  that  a
  2235.        carriage   return   follow  each  keypad  character  in  order  to  be
  2236.        recognized.  CDCNOS.FNC defines the proper codes for use with the  FSE
  2237.        editor,  and  adds  the  required carriage return.  This makes it very
  2238.        convenient to use the PC as a terminal to NOS since you do not have to
  2239.        constantly  hit  the  carriage return key after each VT100 keypad key.
  2240.        Note that the order of the keys is DIFFERENT  in  CDCNOS.FNC  than  in
  2241.        VT100.FNC.
  2242.  
  2243.        PibTerm's  VT100  emulation DOES understand requests for the alternate
  2244.        VT100 graphics characters.  PibTerm maps the VT100 graphics characters
  2245.        onto similar PC graphics characters.
  2246.  
  2247.        Documentation for PibTerm version 3.0               07 Oct 85   Page 39
  2248.  
  2249.  
  2250.  
  2251.        ANSI/BBS MODE
  2252.        =============
  2253.  
  2254.        The  ANSI/BBS mode interprets a small set of ANSI commands, sufficient
  2255.        to handle the codes usually sent by BBSs.  In  addition,  the  special
  2256.        escape  codes  for  music  are interpreted and played through the PC's
  2257.        speaker (unless mute mode -- selected by ALT-M -- is in effect).
  2258.  
  2259.  
  2260.        USING SCRIPT FILES
  2261.        ==================
  2262.  
  2263.        PibTerm provides an extended script file facility which allows you  to
  2264.        create  a file containing a set of instruction for PibTerm to execute.
  2265.        The instructions can include dialing up a  remote  system,  performing
  2266.        file  transfers,  and waiting for a specific time before initiating an
  2267.        event.  The script facility allows you to set up PibTerm to run in  an
  2268.        unattended mode and take advantage of off-hours rates on host computer
  2269.        systems, as well as to automate such chores as logging  in  to  remote
  2270.        systems.
  2271.  
  2272.        Executing a script file
  2273.        =======================
  2274.  
  2275.        There  are  two  ways to execute a script file.  The first is to enter
  2276.        the file name of a script file on the PibTerm command line  itself  at
  2277.        the DOS prompt:
  2278.  
  2279.             PIBTERM script.SCR
  2280.  
  2281.        where  'script.SCR'  is  the  name  of  a  script  file.  You need not
  2282.        explicitly give the .SCR, it is understood if no  other  extension  is
  2283.        provided.
  2284.  
  2285.        When  PibTerm begins execution, it will take its input from the script
  2286.        file.  You may still make keyboard entries if you  desire,  and  there
  2287.        are  some  script  commands  which  explicitly request keyboard entry.
  2288.        This provides quite a bit of flexibility in case something goes  wrong
  2289.        during  the  execution  of  a script and you are present to repair the
  2290.        damage.
  2291.  
  2292.        If no script file name appears  on  the  PibTerm  invocation,  PibTerm
  2293.        looks for the file PIBTERM.SCR and executes it as a script if found.
  2294.  
  2295.        To  exit a script, use the ALT-X command.  When a script is executing,
  2296.        you will be prompted as to whether or not you want to  stop  executing
  2297.        the script.  If you then want to exit PibTerm, type Alt-X again.
  2298.  
  2299.        The second way to execute a script file is to go to the Alt-P menu and
  2300.        select S)cript file execution.  You will be prompted for the  name  of
  2301.        the  script  file  to execute.  Again, you need only provide the first
  2302.        part of the file name; .SCR is understood.
  2303.  
  2304.        Before executing a script file, PibTerm scans it and converts it to an
  2305.  
  2306.        Documentation for PibTerm version 3.0               07 Oct 85   Page 40
  2307.  
  2308.  
  2309.  
  2310.        in-memory  list of commands.  During the scanning process, you will be
  2311.        informed if any script command line is  syntactically  bad.   (PibTerm
  2312.        only looks for the first bad line at this time.)  Any erroneous script
  2313.        statement prevents PibTerm from executing the script.
  2314.  
  2315.        Script files are limited to 32767 characters in length.   This  should
  2316.        be  sufficient  for nearly any purpose.  Also, the size of a script is
  2317.        limited by the available memory to hold the  "compiled"  script  code.
  2318.        If there is not enough memory for the script, it will not be executed.
  2319.  
  2320.  
  2321.        SCRIPT FILE COMMANDS
  2322.        ==================
  2323.  
  2324.        Script file commands consist  of  an  initial  command  word  possibly
  2325.        followed  by  one  or  more arguments.  Blank lines or lines beginning
  2326.        with an "*" may be used as comments.  Many  of  the  commands  perform
  2327.        similar functions to the regular Alt-letter keyboard entries described
  2328.        previously.
  2329.  
  2330.        Here is a complete list  of  PibTerm  script  commands  with  a  brief
  2331.        description  of  the  purpose of each.  A detailed description of each
  2332.        command follows.
  2333.  
  2334.        AddLF       --- adds line feeds to carriage returns (like Ctrl-Tab).
  2335.  
  2336.        Break       --- issue a break sequence (like Alt-B).
  2337.  
  2338.        Capture     --- toggles session capture to specified file (like Alt-O).
  2339.  
  2340.        Clear       --- clears the screen (like Alt-C).
  2341.  
  2342.        Delay       --- Delays PibTerm execution for specified length of time.
  2343.  
  2344.        Dial        --- dial a number in the dialing directory (like Alt-D).
  2345.  
  2346.        Dos         --- executes a specified DOS command (somewhat like Alt-J).
  2347.  
  2348.        Echo        --- toggles local echo (like Alt-E).
  2349.  
  2350.        Else        --- FALSE branch of an IF statement.
  2351.  
  2352.        Endif       --- ends an IF statement.
  2353.  
  2354.        EndWhile    --- ends a WHILE statement.
  2355.  
  2356.        Exit        --- stop executing the script.
  2357.  
  2358.        Hangup      --- hangs up the phone (like Alt-H).
  2359.  
  2360.        Host        --- enters Host mode (like Alt-W).
  2361.  
  2362.        If          --- test for several different types of conditions;
  2363.                        Else is also available and Endif terminates an IF block.
  2364.  
  2365.        Documentation for PibTerm version 3.0               07 Oct 85   Page 41
  2366.  
  2367.  
  2368.  
  2369.  
  2370.        Input       --- prompt for input from local user.
  2371.  
  2372.        Key         --- sets function keys from specified file (like Alt-K
  2373.                        "Read definitions from a file").
  2374.  
  2375.        KeySend     --- sends specified function key's definition to remote
  2376.                        system.
  2377.  
  2378.        Log         --- toggles session logging on printer (like Alt-L).
  2379.  
  2380.        Message     --- display message on PC's screen; message is not sent
  2381.                        to remote system.
  2382.  
  2383.        Mute        --- toggles mute mode (like Alt-M).
  2384.  
  2385.        Param       --- sets program parameters (syntax like that used in the
  2386.                        PIBTERM.CNF file -- see Alt-P description above).
  2387.  
  2388.        Receive     --- receives a file from a remote system (like Alt-R).
  2389.  
  2390.        Redial      --- redials the last phone number entered (like Alt-Q).
  2391.  
  2392.        Repeat      --- begins block of statements to be repeatedly executed unti
  2393.                        condition on matching UNTIL statement is true.
  2394.  
  2395.        Reset       --- starts executing script from the beginning again.
  2396.  
  2397.        RInput      --- prompt for input from remote system.
  2398.  
  2399.        Send        --- sends a file to a remote system, like Alt-S.
  2400.  
  2401.        SText       --- send text to remote system, and interpret embedded
  2402.                        characters like function key characters.
  2403.  
  2404.        Suspend     --- suspends script execution for specified length of time
  2405.                        (PibTerm continues executing).
  2406.  
  2407.        Text        --- send text to remote system without interpretation.
  2408.  
  2409.        Translate   --- reads in a translation table (like Alt-T).
  2410.  
  2411.        Until       --- terminates REPEAT block and provides termination conditio
  2412.  
  2413.        Wait        --- stops PibTerm execution until a specified time
  2414.                        (in HH:MM:SS form) is reached, at which time execution
  2415.                        proceeds.
  2416.  
  2417.        WaitString  --- waits for a given string to appear from the
  2418.                        remote system (only done once).
  2419.  
  2420.        When        --- waits for a given string to appear from the
  2421.                        remote system, and then sends a specified response
  2422.                        string (done as often as required string appears).
  2423.  
  2424.        Documentation for PibTerm version 3.0               07 Oct 85   Page 42
  2425.  
  2426.  
  2427.  
  2428.  
  2429.        While       --- Begins block of statements to be repeatedly executed as
  2430.                        long as specified condition is true.  A While block is
  2431.                        terminated by an EndWhile statement.
  2432.  
  2433.        Syntax of script commands
  2434.        =========================
  2435.  
  2436.        A couple of general comments about script command syntax are in  order
  2437.        here.
  2438.  
  2439.  
  2440.             1. Command  names may be entered in any case; "CLEAR" = "Clear" =
  2441.                "ClEaR".
  2442.  
  2443.             2. Each command must fit on a single input  line.   There  is  no
  2444.                provision for multi-line commands.
  2445.  
  2446.             3. When  quoted  strings  are called for, either single or double
  2447.                quotes may be used.  To insert a quote into a string in  which
  2448.                that  same  quote is being used as the string delimiter, write
  2449.                two adjacent quotes.  For example, the string
  2450.                   Here's a string
  2451.  
  2452.                can be written as:
  2453.                   'Here''s a string'.
  2454.  
  2455.             4. Quoted strings cannot span a line.  If the closing quote for a
  2456.                string  is  not encountered before the end of the line, then a
  2457.                quote is automatically assumed at the end of the line.
  2458.  
  2459.        SCRIPT COMMANDS IN DETAIL
  2460.        =========================
  2461.  
  2462.        This section describes each Script command  in  detail.   Necessarily,
  2463.        the  examples  for  some commands use other commands which will not be
  2464.        described until later.  You may need to make two passes through  these
  2465.        descriptions in order to fully understand the examples.
  2466.  
  2467.  
  2468.        AddLF
  2469.        =====
  2470.  
  2471.        'AddLF'  toggles  the  addition of a line feed to each carriage return
  2472.        received from the remote system.  'AddLF' acts exactly the same as the
  2473.        Ctrl-Tab PibTerm keyboard entry.
  2474.  
  2475.        Break
  2476.        =====
  2477.  
  2478.        'Break'  issues a sustained break signal over the communications port.
  2479.        This is exactly the same as hitting the Alt-B.
  2480.  
  2481.        Documentation for PibTerm version 3.0               07 Oct 85   Page 43
  2482.  
  2483.  
  2484.  
  2485.        Capture
  2486.        =======
  2487.  
  2488.        'Capture' toggles session capture  to  a  specified  file.   The  file
  2489.        should  be specified in quote marks.  For example, to initiate session
  2490.        capture to file "GETIT.DAT", use the script command:
  2491.  
  2492.           Capture "GETIT.DAT"
  2493.  
  2494.        To turn off capture later in the same script, just enter Capture  with
  2495.        no argument:
  2496.  
  2497.           Capture
  2498.  
  2499.        Be careful -- if you enter Capture with no arguments, and you have not
  2500.        previously requested session capturing,  then  PibTerm  will  issue  a
  2501.        prompt  for  the  capture  file  name.   The intent here is to provide
  2502.        flexibility when running a script in attended mode; but if you're  not
  2503.        careful,  you  may  find an unattended script gets hung up waiting for
  2504.        the capture file name entry.
  2505.  
  2506.        Clear
  2507.        =====
  2508.  
  2509.        'Clear' clears the screen, just like the Alt-C keyboard command.
  2510.  
  2511.        Delay
  2512.        =====
  2513.  
  2514.        'Delay' delays PibTerm execution for the number of tenths of a  second
  2515.        specified by the argument.  For example,
  2516.  
  2517.             Delay 10
  2518.  
  2519.        delays  PibTerm execution for one second (ten tenths = one).  To delay
  2520.        execution for half a second, enter:
  2521.  
  2522.             Delay 5
  2523.  
  2524.        'Delay' differs from  the  'Suspend'  command  described  below.   The
  2525.        Suspend  command only halts SCRIPT processing for the specified length
  2526.        of time.  Delay halts ALL PibTerm processing (except the  asynchronous
  2527.        reception of incoming characters).
  2528.  
  2529.        Dial
  2530.        ====
  2531.  
  2532.        'Dial'  dials  a  number  in  the PibTerm dialing directory, just like
  2533.        Alt-D.  Specify the number to be dialed in quotes.   For  example,  to
  2534.        dial directory entry 3, use the command:
  2535.  
  2536.           Dial "3"
  2537.  
  2538.        You can add the dialing prefix characters if you wish:
  2539.  
  2540.        Documentation for PibTerm version 3.0               07 Oct 85   Page 44
  2541.  
  2542.  
  2543.  
  2544.  
  2545.           Dial "-3"
  2546.  
  2547.        You can also request a manual dial by prefixing the entire number with
  2548.        an M:
  2549.  
  2550.           Dial "M1234567"
  2551.  
  2552.        Dos
  2553.        ===
  2554.  
  2555.        'Dos' executes a specified DOS command --  somewhat  like  Alt-J,  but
  2556.        only  for  a  single  command.   Specify the command to be executed in
  2557.        quotes.
  2558.  
  2559.        For example, to execute a DIR command, enter:
  2560.  
  2561.           Dos "DIR"
  2562.  
  2563.        Unlike the Alt-J command, 'Dos' automatically returns to PibTerm after
  2564.        executing  the  single  specified  DOS  command,  unless the specified
  2565.        command is null.  In that case, 'Dos' WILL drop to a new level of  the
  2566.        command  processor,  and  you  will  have  to  enter EXIT to return to
  2567.        PibTerm.
  2568.  
  2569.        Echo
  2570.        ====
  2571.  
  2572.        Echo toggles local echo mode, just like the keyboard entry Alt-E.   In
  2573.        local  echo  mode,  PibTerm  displays characters as you type them, and
  2574.        doesn't wait for the remote system to echo them back.
  2575.  
  2576.        Else ====
  2577.  
  2578.        'Else' is described as part of the 'If' command below.
  2579.  
  2580.        Endif
  2581.        =====
  2582.  
  2583.        'Endif' is described as part of the 'If' command below.
  2584.  
  2585.        EndWhile
  2586.        ========
  2587.  
  2588.        'EndWhile' is described as part of the 'While' statement below.
  2589.  
  2590.        Exit
  2591.        ====
  2592.  
  2593.        'Exit' terminates execution  of  the  script.   PibTerm  automatically
  2594.        inserts  an  exit  at  the end of a script, so you need not provide it
  2595.        there.  Exit is most useful when you want  to  stop  script  execution
  2596.        somewhere in the middle of a script.
  2597.  
  2598.        Documentation for PibTerm version 3.0               07 Oct 85   Page 45
  2599.  
  2600.  
  2601.  
  2602.        Note  that  terminating  a script does NOT terminate processing of any
  2603.        defined 'When' string.  See the section on the 'When'  script  command
  2604.        below for further details.
  2605.  
  2606.        Hangup
  2607.        ======
  2608.  
  2609.        'Hangup' hangs up the phone, just like the keyboard entry Alt-H.
  2610.  
  2611.        Host
  2612.        ====
  2613.  
  2614.        'Host'  causes  PibTerm  to  enter  Host  mode, just like the keyboard
  2615.        command Alt-W.  In this mode PibTerm acts like  a  mini-BBS  (bulletin
  2616.        board  system).   Remote  callers  can  dial your system and transfers
  2617.        files and leave messages.  See the section on PibTerm Host mode  below
  2618.        for more details.
  2619.  
  2620.        If
  2621.        ==
  2622.  
  2623.        'IF'  provides  a  mechanism  for  testing  several different types of
  2624.        conditions.  The general form of the 'If' statement in PibTerm is:
  2625.  
  2626.           IF condition
  2627.             < script statements executed if condition is TRUE >
  2628.           ELSE
  2629.             < script statements executed of condition is FALSE >
  2630.           ENDIF
  2631.  
  2632.        The 'Else' part is optional and  need  not  be  specified.   You  MUST
  2633.        specify the 'Endif'.
  2634.  
  2635.  
  2636.        The following conditions can be specified on the If statement:
  2637.  
  2638.           Waitstring --- If the string specified in the last previous
  2639.                           WaitString command appeared (see the WaitString
  2640.                           command for more details).
  2641.  
  2642.           Connected --- If PibTerm is connected to a remote system.
  2643.                           This check is performed by examining whether the
  2644.                           carrier detect line is active or not.
  2645.  
  2646.           Local --- If the reply string provided to the last previous
  2647.                           'Input' command (which see) contains the string
  2648.                           specified immediately following the 'Local' on
  2649.                           the IF statement.  The reply string from the
  2650.                           'Input'
  2651.                           statement must match in case with the text on the
  2652.                           'If' command.  Note that the test is a CONTAINMENT
  2653.                           test, not and EQUALITY test.
  2654.  
  2655.           Remote --- If the reply string provided to the last previous
  2656.  
  2657.        Documentation for PibTerm version 3.0               07 Oct 85   Page 46
  2658.  
  2659.  
  2660.  
  2661.                           'RInput' command (which see) contains the string
  2662.                           specified immediately following the 'Remote' on
  2663.                           the IF statement.  The reply string from the
  2664.                           'INPUT'
  2665.                           statement must match in case with the text on the
  2666.                           'If' command.  Note that the test is a CONTAINMENT
  2667.                           test, not and EQUALITY test.
  2668.  
  2669.        You  need  only  provide  the first three letters of these conditions.
  2670.        You may also prefix each of these conditions with a "NOT" to  indicate
  2671.        that you wish to test the reverse of the specified condition.
  2672.  
  2673.        For example, to see if PibTerm is online to a remote system, you could
  2674.        write:
  2675.  
  2676.           If Connected Then
  2677.              Message "PibTerm is connected to a remote system."
  2678.           Else
  2679.              Message "PibTerm is NOT connected to a remote system."
  2680.           Endif
  2681.  
  2682.        The 'Then' on the If statement is optional, and is ignored if present.
  2683.        It's  just there so that inveterate Pascal programmers who can't STAND
  2684.        to write an If without a Then will be happy.
  2685.  
  2686.        To ask a yes/no answer to a question about hanging up the  phone,  and
  2687.        test for a yes/no answer, you could write:
  2688.  
  2689.           Input "Do you want to hang up the phone?  "
  2690.           If local "Y,y" Then
  2691.              Message " "
  2692.              Message "OK, hanging up the phone."
  2693.           Else
  2694.              If local 'N,n' Then
  2695.                 Message " "
  2696.                 Message "OK, phone not hung up."
  2697.              Else
  2698.                 Message "Bozo, you didn't enter Y or N."
  2699.              Endif
  2700.           Endif
  2701.  
  2702.        This example indicates that If statements may be nested.  You may nest
  2703.        If statements up to 10 deep.  This example also illustrates  that  the
  2704.        If  statement  checks  are  case-sensitive, but you can easily include
  2705.        both cases of text to check for in the If statement.
  2706.  
  2707.        The next example demonstrates how  to  check  that  the  text  from  a
  2708.        WaitString command has appeared:
  2709.  
  2710.           WaitString "Username:" 20
  2711.           If NOT WaitString Then
  2712.              Message "Username prompt did not appear within twenty seconds."
  2713.              Hangup
  2714.              Exit
  2715.  
  2716.        Documentation for PibTerm version 3.0               07 Oct 85   Page 47
  2717.  
  2718.  
  2719.  
  2720.           Endif
  2721.  
  2722.        Here  the  WaitString  command  (which  see) is looking for the string
  2723.        "Username:", and a time limit of 20 seconds has  been  placed  on  its
  2724.        appearance.  If the WaitString doesn't appear in those twenty seconds,
  2725.        then the next statement in the script file -- here the If statement --
  2726.        is  executed.   The  If  statement checks if the "Username:" text ever
  2727.        arrived, and if not, hangs up the phone and quits script execution.
  2728.  
  2729.        The conditions tested by the If statement can also be  tested  in  the
  2730.        'Repeat/Until'  and  'While/EndWhile' statements, providing a facility
  2731.        for conditional looping in scripts.   See  the  'Repeat'  and  'While'
  2732.        statements for more details.
  2733.  
  2734.        Input
  2735.        =====
  2736.  
  2737.        'Input'  prompts  for  input  from the keyboard.  The prompt should be
  2738.        enclosed in quotes.  The keyboard input is stored in a string and  can
  2739.        be tested by the 'If Local' statement.
  2740.  
  2741.        For  example,  to  ask  a  yes/no question about hanging up the phone,
  2742.        write:
  2743.  
  2744.           Input "Do you want to hang up the phone?  "
  2745.  
  2746.        To see how the resulting input can be used,  see  the  'If'  statement
  2747.        description above.
  2748.  
  2749.        Key
  2750.        ===
  2751.  
  2752.        'Key'  sets  function  keys  from  a  specified  file,  like the Alt-K
  2753.        keyboard entry "Read definitions from a file".  Put the file name from
  2754.        which the definitions are to be read in quotes.  For example,
  2755.  
  2756.           Key "mydefs"
  2757.  
  2758.        reads  key  definitions  from  file  "mydefs.fnc"  --  the  ".fnc"  is
  2759.        understood.
  2760.  
  2761.        KeySend
  2762.        =======
  2763.  
  2764.        'KeySend' sends the specified function key's definition to the  remote
  2765.        system.   The  function  key  name  should  NOT appear in quotes.  The
  2766.        allowed names are:
  2767.  
  2768.           F1 through F10;
  2769.           A1 through A10 (for Alt-F1 though Alt-F10);
  2770.           C1 through C10 (for Ctrl-F1 through Ctrl-F10);
  2771.           S1 through S10 (for Shift-F1 through Shift-F10).
  2772.  
  2773.        For example, to send the text associated with function key F1  to  the
  2774.  
  2775.        Documentation for PibTerm version 3.0               07 Oct 85   Page 48
  2776.  
  2777.  
  2778.  
  2779.        remote system, enter:
  2780.  
  2781.           KeySend F1
  2782.  
  2783.        Log
  2784.        ===
  2785.  
  2786.        'Log'  toggles  session  logging  on  printer, like the keyboard entry
  2787.        Alt-L.  You should ensure that your printer is turned on before  using
  2788.        Alt-L.   When logging is active, all the output from the remote system
  2789.        is echoed on your printer.
  2790.  
  2791.        Message
  2792.        =======
  2793.  
  2794.        'Message' displays a message on your screen; the message is  NOT  sent
  2795.        to  any remote system to which you may be connected.  Specify the text
  2796.        of the message to be sent in quotes.  For example:
  2797.  
  2798.           Message "Here is a sample message."
  2799.  
  2800.        The message text cannot span more than a single line.  You  may  enter
  2801.        as many 'Message' statements in a row as you want, if you wish to have
  2802.        more than one line of text appear.
  2803.  
  2804.        Mute
  2805.        ====
  2806.  
  2807.        'Mute' toggles mute mode, like the  keyboard  entry  Alt-M.   In  mute
  2808.        mode,  no  sounds  like  bells or music are issued.  This is ideal for
  2809.        those late-night sessions when you want to log in to those  BBSs  that
  2810.        play  the entire top 40 rock hits before they allow you to do anything
  2811.        useful, and for those mainframe systems which beep  at  you  everytime
  2812.        you do ANYTHING at all.
  2813.  
  2814.        Param
  2815.        =====
  2816.  
  2817.        'Param' sets Pibterm program parameters.  The syntax follows that used
  2818.        in the PIBTERM.CNF file (see Alt-P description  above).   You  specify
  2819.        the  two-letter  name  of the parameter to change, then an equal sign,
  2820.        and then the value to be assigned to that  parameter.   The  parameter
  2821.        names  and  values  are  described  in  the  description  of the Alt-P
  2822.        keyboard command above.
  2823.  
  2824.        For example, to change the terminal emulation to VT100 mode, write:
  2825.  
  2826.           Param te=3
  2827.  
  2828.        To change the baud rate to 1200 baud, write:
  2829.  
  2830.           Param ba=1200
  2831.  
  2832.        Documentation for PibTerm version 3.0               07 Oct 85   Page 49
  2833.  
  2834.  
  2835.  
  2836.        Receive
  2837.        =======
  2838.  
  2839.        'Receive' causes Pibterm to receive a file from a remote system,  like
  2840.        the  keyboard  command  Alt-R.   Specify  the  name  of the file to be
  2841.        received in quotes, and the transfer protocol  after  the  file  name.
  2842.        The protocol names are:
  2843.  
  2844.           A  --  Ascii
  2845.           X  --  Xmodem CheckSum
  2846.           XC --  Xmodem CRC
  2847.           Y  --  Ymodem
  2848.           YB --  Ymodem Batch
  2849.           T  --  Telink
  2850.           M  --  Modem7 Batch Checksum
  2851.           MC --  Modem7 Batch CRC
  2852.           K  --  Kermit (Text file)
  2853.           KB --  Kermit (Binary file)
  2854.  
  2855.  
  2856.        For example, to receive the file YUMYUM.PAS using Xmodem-CRC, write:
  2857.  
  2858.           Receive "yumyum.pas" xc
  2859.  
  2860.        To receive a batch of files using Telink, write:
  2861.  
  2862.           Receive "" t
  2863.  
  2864.        The  file  names are automatically provided by the sender with Telink,
  2865.        so you don't have to specify the name -- just provide a null  filename
  2866.        as shown above.
  2867.  
  2868.        Note  that "Receive" only sets up PibTerm to receive a file -- it does
  2869.        NOT initiate a transfer from the remote  system.   You  will  need  to
  2870.        issue  a command to the remote system to get it to start a transfer so
  2871.        that Pibterm can  receive  the  file(s).   For  example,  if  you  are
  2872.        connected  to  the file section of an RBBS system, you might enter the
  2873.        following sequence of statements to download a file you know you want:
  2874.  
  2875.           *
  2876.           * Request that file "goodstuf.lbr" be sent to me.
  2877.           *
  2878.           Stext "s;goodstuf.lbr;x|"
  2879.           Receive "goodstuf.lbr" x
  2880.  
  2881.        Redial
  2882.        ======
  2883.  
  2884.        'Redial'  redials  the  last  phone  number entered, like the keyboard
  2885.        command Alt-Q.  However, you can specify a phone number in  quotes  on
  2886.        the 'Redial' command and PibTerm will redial that phone number until a
  2887.        connection is established.  For  example,  to  repeatedly  dial  phone
  2888.        directory entry 3 until a connection is established, write:
  2889.  
  2890.        Documentation for PibTerm version 3.0               07 Oct 85   Page 50
  2891.  
  2892.  
  2893.  
  2894.           Redial "3"
  2895.  
  2896.        Repeat
  2897.        ======
  2898.  
  2899.        'Repeat'  begins a block of statements to be repeatedly executed until
  2900.        the condition on a matching UNTIL statement is true.
  2901.  
  2902.           Repeat
  2903.              stext '|'
  2904.              waitstring "Username:" 1
  2905.           Until waitstring found
  2906.  
  2907.        Testable conditions are described under the "If" statement above.
  2908.  
  2909.        Reset
  2910.        =====
  2911.  
  2912.        'Reset' starts executing the current script from the beginning of  the
  2913.        script again.  Reset has no arguments.
  2914.  
  2915.        RInput
  2916.        ======
  2917.  
  2918.        'RInput' prompts for input from the remote system.  Specify the prompt
  2919.        to be issued in quotes.  The prompt string  may  contain  the  special
  2920.        function  key  characters for carriage return, control-key definition,
  2921.        and 1-second delay described under the Alt-K keyboard command.
  2922.  
  2923.        The  response  can  be  tested  for  content  using  the  "If  Remote"
  2924.        statement.
  2925.  
  2926.        For example, to prompt a remote caller for a yes/no response you could
  2927.        write:
  2928.  
  2929.           RInput "Do you want to quit (enter Y or N ) ?  "
  2930.  
  2931.        Send
  2932.        ====
  2933.  
  2934.        'Send' sends a file to a remote  system,  like  the  keyboard  command
  2935.        Alt-S.   Specify the file(s) to be sent in a quoted string, and follow
  2936.        that by the protocol to be used for the transfer.  Protocol names  are
  2937.        the same as for the 'Receive' command documented above.
  2938.  
  2939.        For  example,  to  send the file "yumyum.lbr" to a remote system using
  2940.        Xmodem-CRC, write:
  2941.  
  2942.           Send "yumyum.lbr" xc
  2943.  
  2944.        To send all files ending in .PAS using  Telink  to  a  remote  system,
  2945.        write:
  2946.  
  2947.           Send "*.pas" tc
  2948.  
  2949.        Documentation for PibTerm version 3.0               07 Oct 85   Page 51
  2950.  
  2951.  
  2952.  
  2953.  
  2954.        'Send'  only  causes  PibTerm  to  begin  sending  files to the remote
  2955.        system.  You must have previously instructed the remote system  to  be
  2956.        ready  to receive the files.  For example, if you are connected to the
  2957.        file section of an RBBS system, you could send the  file  "yumyum.lbr"
  2958.        using Xmodem with the commands:
  2959.  
  2960.           stext "r;yumyum.lbr;x|"
  2961.           suspend 400
  2962.           Send "yumyum.lbr" x
  2963.  
  2964.        The waitstring is included to ensure we don't start the send procedure
  2965.        before RBBS is ready.
  2966.  
  2967.        Kermit transfers are particularly easy if the remote  system  can  run
  2968.        Kermit  in  server mode.  Just run Kermit on the remote system, put it
  2969.        into server mode,  and  issue  Sends  to  your  hearts  content.   For
  2970.        example, to send a bunch of files to a Vax system running Kermit under
  2971.        VMS, you could write:
  2972.  
  2973.           *
  2974.           * Wait for VMS command prompt
  2975.           *
  2976.           waitstring "$"
  2977.           *
  2978.           * Start up Kermit
  2979.           *
  2980.           stext "Kermit|"
  2981.           *
  2982.           * Wait for Kermit's prompt, then send command
  2983.           * to put Kermit in server mode.
  2984.           *
  2985.           Waitstring ">"
  2986.           stext "Server|"
  2987.           *
  2988.           * Wait for blurb about server mode to go by, then
  2989.           * send a bunch of files, then receive a file.
  2990.           *
  2991.           suspend 500
  2992.           send "*.pas" k
  2993.           send "*.doc" k
  2994.           *
  2995.           receive "newstuf.doc" k
  2996.           *
  2997.           * Take remote Kermit out of server mode.
  2998.           *
  2999.           stext "finish|"
  3000.           *
  3001.           * Tell remote Kermit to stop executing.
  3002.           *
  3003.           stext "stop|"
  3004.  
  3005.        Documentation for PibTerm version 3.0               07 Oct 85   Page 52
  3006.  
  3007.  
  3008.  
  3009.        SText
  3010.        =====
  3011.  
  3012.        'SText' sends text to the remote system.  Specify the text to be  sent
  3013.        in  quote  marks.   The  special  characters used in function keys for
  3014.        carriage returns, marking control characters, and delays may be  used.
  3015.        (See  the  section  on the Alt-K keyboard command for details on these
  3016.        special characters.)
  3017.  
  3018.        You've already seen a number of examples of Stext  in  action  in  the
  3019.        description of previous commands.
  3020.  
  3021.  
  3022.        Suspend
  3023.        =======
  3024.  
  3025.        'Suspend'  suspends  script  execution  for  a  given  length  of time
  3026.        (PibTerm  continues  executing).   Specify  the  length  of  time   in
  3027.        hundredths of a second.
  3028.  
  3029.        For example, to stop script processing for one second, enter:
  3030.  
  3031.           Suspend 100
  3032.  
  3033.        To stop script processing for half a second, enter:
  3034.  
  3035.           Suspend 50
  3036.  
  3037.        'Suspend' differs from 'Delay' in that 'Delay' stops EVERYTHING except
  3038.        the reception of remote characters, while  'Suspend'  only  stops  the
  3039.        execution of script commands.  Note, however, that WaitString and When
  3040.        searches will continue  during  the  suspension  period.   That  makes
  3041.        'Suspend' useful in writing conditional loops with recalcitrant remote
  3042.        systems that may require a variable number of, say,  carriage  returns
  3043.        before the remote system wakes up.
  3044.  
  3045.        Text
  3046.        ====
  3047.  
  3048.        Text   sends   text   to   the  remote  system,  WITHOUT  any  special
  3049.        interpretation (e.g., unlike SText).  Specify the text to be  sent  in
  3050.        quotes.
  3051.  
  3052.  
  3053.        Translate
  3054.        =========
  3055.  
  3056.        'Translate'  reads  in  a translation table, just like the "read file"
  3057.        option of Alt-T.  Specify  the  file  name  from  which  to  read  the
  3058.        translation  table  in  quotes.  For example, to read a table from the
  3059.        file "Striphi.tra", write:
  3060.  
  3061.           Translate "striphi"
  3062.  
  3063.        Documentation for PibTerm version 3.0               07 Oct 85   Page 53
  3064.  
  3065.  
  3066.  
  3067.        The ".tra" is assumed.
  3068.  
  3069.        Translate tables are useful in stripping parity bits (as in the sample
  3070.        file  STRIPHI.TRA  provided with the PibTerm release materials), or in
  3071.        removing unwanted characters.
  3072.  
  3073.        Until
  3074.        =====
  3075.  
  3076.        See the 'Repeat' statement above.
  3077.  
  3078.        Wait
  3079.        ====
  3080.  
  3081.        'Wait' stops PibTerm execution until a given time (in  HH:MM:SS  form)
  3082.        is  reached,  at  which  time execution proceeds.  Specify the time in
  3083.        HH:MM:SS form in quotes.
  3084.  
  3085.        For example, to stop PibTerm execution until 1 AM, write:
  3086.  
  3087.           Wait "01:00:00"
  3088.  
  3089.        The wait command only works within a given 24 hour period.
  3090.  
  3091.        WaitString
  3092.        ==========
  3093.  
  3094.        'WaitString' causes Pibterm to wait for a given string to appear  from
  3095.        the remote system.  Specify the string to be waited for in quotes.  By
  3096.        default, PibTerm waits for the string for 30 seconds.  You can specify
  3097.        the  time  in  seconds  following  the string.  If the string does not
  3098.        appear within the specified time period, then execution proceeds  with
  3099.        the  next  script  command.   WaitString  can  be  combined  with  the
  3100.        Repeat/Until, While/EndWhile, and If/Else/Endif script  statements  to
  3101.        good effect, since the 'WaitString' condition is TRUE if the specified
  3102.        string appeared, and FALSE if it did not appear.
  3103.  
  3104.        To wait until the string 'Username:' appears, write:
  3105.  
  3106.           WaitString 'Username:'
  3107.  
  3108.        PibTerm will wait 30 seconds for 'Username:' to appear.  If  you  want
  3109.        it to wait for, say 60 seconds, write:
  3110.  
  3111.           WaitString 'Username:' 60
  3112.  
  3113.        You can wait for single character:
  3114.  
  3115.           WaitString ">"
  3116.  
  3117.        'WaitString'  slows  down  PibTerm's execution somewhat, so you should
  3118.        not be surprised if the output from the  remote  system  seems  to  be
  3119.        slower than usual.
  3120.  
  3121.        Documentation for PibTerm version 3.0               07 Oct 85   Page 54
  3122.  
  3123.  
  3124.  
  3125.        When
  3126.        ====
  3127.  
  3128.        'When'  waits  for  a given string to appear from the remote system --
  3129.        like WaitString -- and then sends a specified  response  string.   You
  3130.        specify  both  the  subject  and  response  strings in quotes.  'When'
  3131.        searching stays active until you  de-activate  it  using  Alt-X,  even
  3132.        after  the  script  itself  has  finished executing.  Hence, to stop a
  3133.        script, you can enter Alt-X, but the WHEN keeps  on  going.   You  can
  3134.        enter  another Alt-X to stop the WHEN.  A third Alt-X takes you out of
  3135.        PibTerm entirely.
  3136.  
  3137.        'When' slows down PibTerm's execution somewhat, so you should  not  be
  3138.        surprised if the output from the remote system seems to be slower than
  3139.        usual.
  3140.  
  3141.        While
  3142.        =====
  3143.  
  3144.        'While' begins a block of statements to be repeatedly executed as long
  3145.        as  the  specified  condition  on  the  'While'  statement is true.  A
  3146.        'While' block is terminated by an 'EndWhile' statement.  The  form  of
  3147.        the conditions for the 'While' statement are identical to those of the
  3148.        'Until' and 'If' statements.
  3149.  
  3150.        For example, to execute a  block  of  script  statements  as  long  as
  3151.        PibTerm is connected to a remote system, write:
  3152.  
  3153.           While Connected Do
  3154.              .
  3155.              .
  3156.              .
  3157.           EndWhile
  3158.  
  3159.        The "Do" is optional and is ignored if present.
  3160.  
  3161.        Documentation for PibTerm version 3.0               07 Oct 85   Page 55
  3162.  
  3163.  
  3164.  
  3165.        EXAMPLE SCRIPTS
  3166.        ===============
  3167.  
  3168.        The  script  language  in  PibTerm  is  complicated  enough  that some
  3169.        extended examples are useful in showing how scripts can be constructed
  3170.        for common login sequences.
  3171.  
  3172.        Here  is  a sample script to log onto CompuServe and go to the Borland
  3173.        user's group section.  The comment lines describe what each command is
  3174.        supposed to do.
  3175.  
  3176.           *
  3177.           *     Set terminal to VT52
  3178.           *
  3179.           Param te=1
  3180.           *
  3181.           *     Dial CompuServe access number in directory
  3182.           *
  3183.           Dial "12"
  3184.           *
  3185.           *     Send Ctrl-C to get CompuServe's attention
  3186.           *
  3187.           SText '~^C'
  3188.           *
  3189.           *     Wait for User ID prompt, then send User ID
  3190.           *
  3191.           Waitstring "User ID:"
  3192.           Stext "72000,1234|"
  3193.           *
  3194.           *     Wait for password prompt, then send password
  3195.           *
  3196.           Waitstring "Password:"
  3197.           Stext "good-stuff|"
  3198.           *
  3199.           *     Wait for main menu prompt, then request entry to
  3200.           *     Borland conference.
  3201.           *
  3202.           WaitString "!"
  3203.           Stext "GO BOR100|"
  3204.           *
  3205.           *     Prompt for automatic capture to file COMPUS.DAT.
  3206.           *     If automatic capture, also define a WHEN string to
  3207.           *     automatically go to the next message after one has
  3208.           *     been read.
  3209.           *
  3210.           Message " "
  3211.           Input ">>> Automatic capture and non-stop messages? "
  3212.           If localreplyin "Y,y"
  3213.              Capture "COMPUS.DAT"
  3214.              When "<CR> for menu :" "N"
  3215.              Message " "
  3216.              Message "Capturing to file COMPUS.DAT"
  3217.              Message "Non-stop message mode."
  3218.           Else
  3219.  
  3220.        Documentation for PibTerm version 3.0               07 Oct 85   Page 56
  3221.  
  3222.  
  3223.  
  3224.              Message " "
  3225.              Message "Manual message reading, no capture."
  3226.           Endif
  3227.  
  3228.        Here  is  a  script for automatically logging into a CDC NOS mainframe
  3229.        system:
  3230.  
  3231.           *
  3232.           *     Set VT100 emulation
  3233.           *
  3234.           param te=3
  3235.           *
  3236.           *     Dial up NOS system
  3237.           *
  3238.           dial "2"
  3239.           *
  3240.           *     Wake up NAM and tell it we've got a VT100.
  3241.           *
  3242.           stext "~|~|~|~| TC=7|"
  3243.           *
  3244.           *     Wait for the family prompt and reply with our username.
  3245.           *
  3246.           waitstring ":"
  3247.           stext "myfam,myusrid,mypass,iaf|"
  3248.           *
  3249.           *     Wait for the control statement prompt, then tell NOS
  3250.           *     our terminal type and user job name.
  3251.           *
  3252.           waitstring "/"
  3253.           stext "SETJOB,UJN=MYUJN|"
  3254.           stext "SCREEN,VT100.|"
  3255.  
  3256.  
  3257.        Here is a script to log into a Vax system under VMS:
  3258.  
  3259.           *
  3260.           *   Set terminal to VT100 emulation
  3261.           *
  3262.           param te=3
  3263.           *
  3264.           *   Dial Vax system
  3265.           *
  3266.           Message 'Dialing Vax ... '
  3267.           Dial "1"
  3268.           *
  3269.           *   Send CRs to wake up Vax's autobaud.
  3270.           *   Keep doing it until "Username:" prompt appears.
  3271.           *
  3272.           Repeat
  3273.              stext '|'
  3274.              waitstring "Username:" 1
  3275.           Until waitstring found
  3276.           *
  3277.           *   Send my username.
  3278.  
  3279.        Documentation for PibTerm version 3.0               07 Oct 85   Page 57
  3280.  
  3281.  
  3282.  
  3283.           *
  3284.           Stext "MYUSRID|"
  3285.           *
  3286.           *   Wait for password prompt.
  3287.           *
  3288.           Waitstring 'Password:'
  3289.           *
  3290.           *   Send password.
  3291.           *
  3292.           Stext "MYPASS|"
  3293.  
  3294.  
  3295.        Here is a script to login into an RBBS system:
  3296.  
  3297.        *
  3298.        *    Set BBS/ANSI
  3299.        *
  3300.        param te=2
  3301.        *
  3302.        *    Dial number
  3303.        *
  3304.        Message "Dialing RBBS"
  3305.        Dial "1"
  3306.        *
  3307.        *    Send a few carriage returns to wake up RBBS
  3308.        *
  3309.        REPEAT
  3310.           Stext "|"
  3311.           WaitString "ame:" 1
  3312.        UNTIL Waitstring
  3313.        *
  3314.        *    Send first name, last name, and password
  3315.        *
  3316.        Stext   "first;last;mypass|"
  3317.  
  3318.  
  3319.  
  3320.        Here is a script to log into an IBBS system:
  3321.  
  3322.        *
  3323.        *    Set BBS/ANSI
  3324.        *
  3325.        param te=2
  3326.        *
  3327.        *    Dial number
  3328.        *
  3329.        Message "Dialing IBBS"
  3330.        Dial "1"
  3331.        *
  3332.        *    Wait for ID request
  3333.        *
  3334.        Waitstring "ID: "
  3335.        *
  3336.        *    Send first name, last name, and password
  3337.  
  3338.        Documentation for PibTerm version 3.0               07 Oct 85   Page 58
  3339.  
  3340.  
  3341.  
  3342.        *    Also request message reading from last previous message
  3343.        *
  3344.        Stext   "first;last;mypass;m;r;*"
  3345.  
  3346.  
  3347.        Here is a script to log into a FIDO system:
  3348.  
  3349.        *
  3350.        *    Set BBS/ANSI
  3351.        *
  3352.        param te=2
  3353.        *
  3354.        *    Dial number
  3355.        *
  3356.        Message "Dialing FIDO"
  3357.        Dial "1"
  3358.        *
  3359.        *    Send some spaces until system wakes up
  3360.        *
  3361.        Repeat
  3362.           SText " "
  3363.           Waitstring "Your FIRST name:" 1
  3364.        Until Waitstring
  3365.        *
  3366.        *    Send first name, last name.
  3367.        *
  3368.        Stext   "first last|"
  3369.        *
  3370.        *    Reply "y" to validation prompt
  3371.        *
  3372.        Waitstring "(y,n)"
  3373.        Stext "y|"
  3374.        *
  3375.        *    Wait for password prompt and then send password.
  3376.        *
  3377.        Waitstring "assword:"
  3378.        Stext "mypass|"
  3379.  
  3380.  
  3381.        NOTES ON ERROR HANDLING
  3382.        =======================
  3383.  
  3384.        PibTerm incorporates an interrupt handler for DOS  interrupt  24,  the
  3385.        critical  error  interrupt.   This  interrupt  is  signalled for error
  3386.        conditions such as "disk not ready."
  3387.  
  3388.        If PibTerm should abort, then  PibTerm's  error  handler  will  be  in
  3389.        force.   PibTerm  DOES  try  to  handle all errors, and die reasonably
  3390.        gracefully if possible.  Sometimes a system lockup cannot be  avoided,
  3391.        so  it is best to re-boot (using CTRL-ALT-DEL) to avoid problems.  You
  3392.        may also want to do this even if PibTerm appears  to  have  died  with
  3393.        dignity,  since  if  any  files  were open and not closed by the error
  3394.        handler, then the number of available MS  DOS  file  handles  will  be
  3395.        considerably reduced.
  3396.  
  3397.        Documentation for PibTerm version 3.0               07 Oct 85   Page 59
  3398.  
  3399.  
  3400.  
  3401.  
  3402.        Normally,  when  you  make  an invalid keyboard entry in response to a
  3403.        prompt, PibTerm sounds the terminal bell.  In mute mode  (Alt-M),  the
  3404.        bell is not sounded, and instead the message "<ALERT>" appears on line
  3405.        25 of the display for a second or so.  This <ALERT> also  flashes  any
  3406.        other  time  a  bell (Control-G) character is received from the remote
  3407.        system and mute mode is in effect.
  3408.  
  3409.  
  3410.  
  3411.        INTRODUCTION TO HOST MODE
  3412.        =========================
  3413.  
  3414.        PibTerm provides simple host mode facilities for message  leaving  and
  3415.        file  transfer.   PibTerm can be used as a very simple remote bulletin
  3416.        board.  However, it lacks the security provisions needed for a genuine
  3417.        BBS,  and  is  really  intended  to cover the need for a simple remote
  3418.        facility for an individual or a small private group of users.
  3419.  
  3420.        PibTerm host mode assumes a Hayes-compatible modem.  You may  need  to
  3421.        modify  the  code if your modem doesn't return verbal codes sufficient
  3422.        to determine the baud rate of the caller.  The modem is assumed to  be
  3423.        set to answer the phone automatically.
  3424.  
  3425.        To  invoke host mode after entering PibTerm, enter Alt-W.  If you want
  3426.        the remote session echoed to the printer or captured to disk, then use
  3427.        the  Alt-L and Alt-O commands as described above before using Alt-W to
  3428.        invoke host mode.
  3429.  
  3430.        FILES IN HOST MODE
  3431.        ==================
  3432.  
  3433.        The following files are  required  for  use  with  the  host  mode  of
  3434.        PibTerm:
  3435.  
  3436.                PIBTERM.USF
  3437.                ===========
  3438.  
  3439.                PIBTERM.USF  is  a simple text file containing the first name,
  3440.                last name, and password for each authorized user.   This  file
  3441.                can  be  created  using  any  text  editor that produces ascii
  3442.                files.  The format is:
  3443.  
  3444.                   firstname;lastname;password
  3445.  
  3446.                i.e., semicolons separating the first  name,  last  name,  and
  3447.                password.
  3448.  
  3449.                This  file  MUST  be  created outside of PibTerm; there are no
  3450.                provisions for a remote caller to get added to the user file.
  3451.  
  3452.                PIBTERM.MSG
  3453.                ===========
  3454.  
  3455.        Documentation for PibTerm version 3.0               07 Oct 85   Page 60
  3456.  
  3457.  
  3458.  
  3459.                PIBTERM.MSG is the message file,  also  a  simple  ascii  text
  3460.                file.   Message  header  information  is  flagged  by  '==' in
  3461.                columns one and two.  The end of a message is  marked  by  '==
  3462.                End'  in  column one.  This file will be created by PibTerm if
  3463.                it doesn't exist when a host session requires its presence.
  3464.  
  3465.                To remove messages, use a text  editor  and  just  delete  the
  3466.                header  lines and text for a message.  There are no provisions
  3467.                for deleting messages remotely.
  3468.  
  3469.                PIBTERM.XFR
  3470.                ===========
  3471.  
  3472.                PIBTERM.XFR is the file transfer list.  This file  contains  a
  3473.                list of files which may be downloaded by a remote user.  Files
  3474.                NOT on the transfer list cannot be downloaded.
  3475.  
  3476.                A file with the same name as a file on  this  list  cannot  be
  3477.                uploaded  by  a  remote user.  Further, any file with the same
  3478.                name as one of the PibTerm host mode files cannot be uploaded,
  3479.                to  prevent  a  remote  user  from overwriting those host mode
  3480.                files.
  3481.  
  3482.                A simple way to create the transfer list is to execute the DOS
  3483.                command:
  3484.  
  3485.                   DIR >PIBTERM.XFR
  3486.  
  3487.                and then edit the resulting file using a text editor to remove
  3488.                unneeded lines and get the file names into 'name.ext' form  as
  3489.                required  by  PibTerm.   Each file name must appear in columns
  3490.                1-14 of a separate line  in  PIBTERM.XFR.   You  can  use  the
  3491.                remainder  of the line for file size, dates, a description, or
  3492.                whatever you like.
  3493.  
  3494.                Note that all files must be  in  a  single  directory  --  the
  3495.                current logged directory when host mode is entered.
  3496.  
  3497.                Here are sample lines from a PIBTERM.XFR file (the numbers are
  3498.                column numbers and don't appear in the file):
  3499.  
  3500.           1             15
  3501.           VT100.FNC         428   5-28-85  12:26a
  3502.           CDCNOS.FNC        211   6-17-85   4:13a
  3503.  
  3504.  
  3505.                PIBTERM.CMT
  3506.                ===========
  3507.  
  3508.                PIBTERM.CMT is the private comments file -- only  readable  by
  3509.                you.  The format is the same as the message file.
  3510.  
  3511.                PIBTERM.LOG
  3512.                ===========
  3513.  
  3514.        Documentation for PibTerm version 3.0               07 Oct 85   Page 61
  3515.  
  3516.  
  3517.  
  3518.  
  3519.                PIBTERM.LOG  is  the  log  file telling who logged on and when
  3520.                they logged off.
  3521.  
  3522.  
  3523.        Note that all these host mode files are simple sequential ascii files.
  3524.        This implies that they should be kept small for reasonable performance
  3525.        -- which is fine for a small group of users.  This implementation does
  3526.        not  provide  good performance for a large group of users; if you need
  3527.        that, you should obtain a real BBS program designed  to  handle  large
  3528.        numbers of users.
  3529.  
  3530.        USING HOST MODE
  3531.        ===============
  3532.  
  3533.        After Alt-W is entered, PibTerm enters host mode and waits for a call.
  3534.        The mode is assumed to be able to answer  the  phone.   The  modem  is
  3535.        initialized using the host-mode initialization string described above.
  3536.  
  3537.        PibTerm then scans the  user  file  and  stores  the  user  names  and
  3538.        passwords  in  memory  for  quick  access.  The message bases are also
  3539.        scanned to find the number of current messages.
  3540.  
  3541.        Once in host mode, NO PIBTERM COMMANDS are recognized.   You  can  hit
  3542.        the  ESC (escape) key to return to terminal emulation mode, or you can
  3543.        hit the enter (return) key to start a host-mode session right at  your
  3544.        PC.   When  a remote session is in progress, you can enter data at the
  3545.        keyboard, which will appear to PibTerm as if the remote user had typed
  3546.        the entry.
  3547.  
  3548.        When  PibTerm  receives  a  call, it waits for the modem to answer the
  3549.        phone.  PibTerm must now determine the calling characteristics  (speed
  3550.        and parity) of the caller.  This is done in one of two ways, depending
  3551.        upon  the  setting  of  the  configuration  parameter   AB   in   file
  3552.        PIBTERM.CNF.
  3553.  
  3554.        AB  =  1: PibTerm scans the modem connect message for the baud rate of
  3555.        the caller, and determines the parity later from the initial  keyboard
  3556.        entries.   This  is  the preferred method if your modem can return the
  3557.        baud rate on the  connect  message.   For  example,  the  USR  Courier
  3558.        returns  CONNECT  for  a  300-baud connection, CONNECT 1200 for a 1200
  3559.        baud connection, and CONNECT 2400 for a 2400 baud connection.
  3560.  
  3561.        AB = 0: PibTerm starts at 1200 baud, no parity.  PibTerm waits for the
  3562.        remote caller to enter a series of carriage returns or spaces, SLOWLY.
  3563.        PibTerm  determines  the  caller's  baud   rate   by   adjusting   the
  3564.        communications  parameters  until  the  spaces or carriage returns are
  3565.        recognized.  The parity can be determined at the same time.
  3566.  
  3567.        After determining the proper baud rate, PibTerm issues a short welcome
  3568.        message which looks like:
  3569.  
  3570.           PibTerm v3.0, October, 1985
  3571.           Beginning Remote Communications
  3572.  
  3573.        Documentation for PibTerm version 3.0               07 Oct 85   Page 62
  3574.  
  3575.  
  3576.  
  3577.  
  3578.           Test if line feeds required ...
  3579.           Are these lines O V E R P R I N T I N G ?
  3580.  
  3581.        The  caller  may  see  these  lines  as  above,  or  the  lines may be
  3582.        overprinting  on  the  remote  terminal.   If  the   lines   are   NOT
  3583.        overprinting,  then  N  should  be  entered  as a response to the "...
  3584.        overprinting ?'  question.  If the  lines  ARE  overprinting,  then  Y
  3585.        should  be entered.  PibTerm will then send line feeds as necessary to
  3586.        the remote user.
  3587.  
  3588.        Following this,  PibTerm  prompts  for  first  name,  last  name,  and
  3589.        password:
  3590.  
  3591.           Enter first name: <user enters first name>
  3592.           Enter last name: <user enters last name>
  3593.           Enter password: <user enters password>
  3594.  
  3595.        The entries MUST be made on separate lines; you CANNOT enter the first
  3596.        and last name on one line.  If either the user  name  or  password  is
  3597.        incorrectly  entered,  then PibTerm issues the prompt again, a maximum
  3598.        of three times.  If the information is not provided correctly  on  the
  3599.        last try, then PibTerm hangs up the phone.
  3600.  
  3601.        The case of the first and last names is irrelevant; any combination of
  3602.        upper and lower case is acceptable (i.e., Philip = PHILIP  =  PhIlIp).
  3603.        However,  PASSWORDS  ARE  CASE  SENSITIVE!!   This  means that Mypass,
  3604.        MYPASS, and MyPass are ALL DIFFERENT PASSWORDS.
  3605.  
  3606.        REPEATING: Passwords ARE case-sensitive!
  3607.  
  3608.        If there are any messages addressed to the caller,  then  the  message
  3609.        headers of those message are displayed.
  3610.  
  3611.        Host  mode  provides two main sections: a main menu for message entry,
  3612.        and a secondary menu for file transfers.  The  main  menu  appears  as
  3613.        follows:
  3614.  
  3615.                 ======================================================
  3616.                 =             PibTerm Host Mode Main Menu            =
  3617.                 ======================================================
  3618.  
  3619.                      E=Enter message
  3620.                      R=Read message
  3621.                      S=Scan messages
  3622.                      P=Personal message scan
  3623.                      Q=Quit and logoff
  3624.                      F=File transfers
  3625.                      G=Gossip mode
  3626.                      X=Expert mode
  3627.                      C=Send comments
  3628.  
  3629.                 ======================================================
  3630.  
  3631.        Documentation for PibTerm version 3.0               07 Oct 85   Page 63
  3632.  
  3633.  
  3634.  
  3635.        When  prompted  by  an 'Enter command ?  ' the caller can enter one of
  3636.        the command letters.  No carriage return is needed.
  3637.  
  3638.        E is used to enter a message in the message base.
  3639.  
  3640.        R is used to read a message.
  3641.  
  3642.        S is used to display the message numbers and headers.
  3643.  
  3644.        P scans the message base for messages addressed to the caller.
  3645.  
  3646.        Q ends the host session and logs off the caller.
  3647.  
  3648.        F enters the file transfer section (see below).
  3649.  
  3650.        G enters a "gossip" mode which allows the caller to "chat" with
  3651.           the host mode operator.
  3652.  
  3653.        X turns on expert mode and suppresses the long menu displays.
  3654.  
  3655.        C is used to send a private message to the host system operator.
  3656.  
  3657.        The file transfer menu appears when F is entered:
  3658.                 ======================================================
  3659.                 =        PibTerm Host Mode File Transfer Menu        =
  3660.                 ======================================================
  3661.  
  3662.                      U=Upload file
  3663.                      D=Download file
  3664.                      L=List files for transfer
  3665.                      M=Return to main menu
  3666.                      Q=Quit and logoff
  3667.                      X=Expert mode
  3668.  
  3669.                 ======================================================
  3670.  
  3671.        U is used to send a file to PibTerm.
  3672.  
  3673.        D is used to receive a file from PibTerm.
  3674.  
  3675.        L lists the files available for transfer.
  3676.  
  3677.        M returns the caller to the main menu.
  3678.  
  3679.        Q ends the host session and logs off the caller.
  3680.  
  3681.        X turns on expert mode and short prompts.
  3682.  
  3683.        In host mode, PibTerm looks for input  from  either  the  host  system
  3684.        keyboard  or  the remote system.  Thus, you can run a "remote" session
  3685.        from the host machine's keyboard itself.  This feature also allows you
  3686.        to  enter  commands to complete what a remote user has input.  You may
  3687.        also hit function keys F1 and F2: F1 enters gossip mode, and F2  hangs
  3688.        up the remote user.
  3689.  
  3690.        Documentation for PibTerm version 3.0               07 Oct 85   Page 64
  3691.  
  3692.  
  3693.  
  3694.  
  3695.        If  you  have  used bulletin board systems like RBBS or IBBS, then you
  3696.        should have no trouble understanding how to use PibTerm host mode.
  3697.  
  3698.        The distributed executable version of PibTerm provides for  a  maximum
  3699.        of  fifteen  users.   You  can  change the constant MaxUsers in module
  3700.        PIBHOSTA.PAS of the source and  recompile  to  get  a  larger  allowed
  3701.        number of users.
  3702.  
  3703.  
  3704.        ACKNOWLEDGEMENTS
  3705.        ================
  3706.  
  3707.        I would like to thank those who have made suggestions or provided code
  3708.        for additional PibTerm features.  I would also  like  to  thank  those
  3709.        Sysops  who  have tolerated my hogging their systems in order to shake
  3710.        out the bugs in file transfers in ANSI emulation.  And, last  but  not
  3711.        least,  I'd  like  to  thank those other software authors who provided
  3712.        excellent programs to model PibTerm after, and  especially  those  who
  3713.        contributed  source to the public domain.  The following list of names
  3714.        is not complete, but I feel it is important to acknowledge those  whom
  3715.        I   can  remember.   Programs  like  PibTerm  also  benefit  from  the
  3716.        suggestions, modifications, and additions of others.   Some  of  these
  3717.        individuals I have never actually communicated with, but PibTerm would
  3718.        be much poorer without their software contributions.
  3719.  
  3720.        Sysops:
  3721.        ======
  3722.  
  3723.              Bob Blacher, Rod Bowman, Sid Bratkovich, Chuck Childers,
  3724.              Craig Derouen, Howard Ekman, Ron Fox, Joel Garrett,
  3725.              Mike Johnson, Bob Klahn, Bob Mahoney, Pete Olympia,
  3726.              Gene Plantz, Rich Schinnell, Steve Stern, Vern Keenan
  3727.  
  3728.        In particular, Bob Blacher and Joel Garrett have gone out of their way
  3729.        to test PibTerm on various machines and configurations to which I have
  3730.        no access.  Bob Klahn, Sid Bratkovich, and Craig Derouen --  all  Fido
  3731.        sysops  --  showed  exceptional  patience  while I tried to get Telink
  3732.        protocol to work properly with Fido.
  3733.  
  3734.        Software authors, code contributors:
  3735.        ===================================
  3736.  
  3737.              Alan Bishop, Don Conover, Jeff Duncan, C.  J.  Dunford,
  3738.              Jim Everingham, John Friel, Guy Gallo, Tom Hanlin,
  3739.              Mike Harrington, Tim Krauskopf, Bela Lubkin, Paul Meiners,
  3740.              Jim Nutt, Michael Quinlan, Bob Ray, Greg Ryan, Ben Slivka
  3741.  
  3742.        Others:
  3743.        ======
  3744.  
  3745.              Charlie Price and Lon Mu Liu for many valuable suggestions.
  3746.  
  3747.